diff --git a/decompiler/IR2/Env.cpp b/decompiler/IR2/Env.cpp index 943cb0425b..75fe361c05 100644 --- a/decompiler/IR2/Env.cpp +++ b/decompiler/IR2/Env.cpp @@ -655,6 +655,16 @@ std::optional Env::get_art_elt_name(int idx) const { } } +std::optional Env::get_part_group_name(int id) const { + ASSERT(dts); + auto it = dts->part_group_table.find(id); + if (it == dts->part_group_table.end()) { + return {}; + } else { + return it->second; + } +} + std::optional Env::get_joint_node_name(int idx) const { ASSERT(dts); auto it = dts->jg_info.find(joint_geo()); diff --git a/decompiler/IR2/Env.h b/decompiler/IR2/Env.h index 22a9cf1efa..889c67b0a5 100644 --- a/decompiler/IR2/Env.h +++ b/decompiler/IR2/Env.h @@ -166,6 +166,7 @@ class Env { } const std::string& joint_geo() const { return m_joint_geo; } std::optional get_joint_node_name(int idx) const; + std::optional get_part_group_name(int idx) const; void set_remap_for_function(const Function& func); void set_remap_for_method(const TypeSpec& ts); diff --git a/decompiler/IR2/Form.h b/decompiler/IR2/Form.h index 61e46615c0..17b22e5c8a 100644 --- a/decompiler/IR2/Form.h +++ b/decompiler/IR2/Form.h @@ -1304,6 +1304,7 @@ class DerefElement : public FormElement { private: ConstantTokenElement* try_as_art_const(const Env& env, FormPool& pool); + ConstantTokenElement* try_as_part_group_const(const Env& env, FormPool& pool); GenericElement* try_as_joint_node_index(const Env& env, FormPool& pool); GenericElement* try_as_curtime(const Env& env, FormPool& pool); GenericElement* try_as_seconds_per_frame(const Env& env, FormPool& pool); diff --git a/decompiler/IR2/FormExpressionAnalysis.cpp b/decompiler/IR2/FormExpressionAnalysis.cpp index be57aed682..153e560505 100644 --- a/decompiler/IR2/FormExpressionAnalysis.cpp +++ b/decompiler/IR2/FormExpressionAnalysis.cpp @@ -4364,6 +4364,28 @@ ConstantTokenElement* DerefElement::try_as_art_const(const Env& env, FormPool& p return nullptr; } +ConstantTokenElement* DerefElement::try_as_part_group_const(const Env& env, FormPool& pool) { + auto mr = match(Matcher::deref(Matcher::symbol("*part-group-id-table*"), false, + {DerefTokenMatcher::any_integer(0)}), + this); + + if (mr.matched) { + auto group_name = env.get_part_group_name(mr.maps.ints.at(0)); + // already defined in all games + if (group_name == "group-rain-screend-drop-real") { + return nullptr; + } + if (group_name) { + return pool.alloc_element(*group_name); + } else { + lg::error("function `{}`: did not find part group name for id {}", env.func->name(), + mr.maps.ints.at(0)); + } + } + + return nullptr; +} + GenericElement* DerefElement::try_as_joint_node_index(const Env& env, FormPool& pool) { auto mr = match(Matcher::deref(Matcher::s6(), false, @@ -4461,6 +4483,12 @@ void DerefElement::update_from_stack(const Env& env, return; } + auto as_part_group = try_as_part_group_const(env, pool); + if (as_part_group) { + result->push_back(as_part_group); + return; + } + auto as_jnode = try_as_joint_node_index(env, pool); if (as_jnode) { result->push_back(as_jnode); diff --git a/decompiler/ObjectFile/ObjectFileDB.cpp b/decompiler/ObjectFile/ObjectFileDB.cpp index a7af5c823f..9dac30b06d 100644 --- a/decompiler/ObjectFile/ObjectFileDB.cpp +++ b/decompiler/ObjectFile/ObjectFileDB.cpp @@ -1125,6 +1125,34 @@ void ObjectFileDB::dump_art_info(const fs::path& output_dir) { lg::info("Written art group info: in {:.2f} ms", timer.getMs()); } +void ObjectFileDB::dump_part_group_table( + const fs::path& output_dir, + const std::unordered_map& part_group_table) { + lg::info("Writing part group table..."); + Timer timer; + + if (!part_group_table.empty()) { + file_util::create_dir_if_needed(output_dir / "import"); + } + + auto ptable_fpath = output_dir / "import" / "part-groups.gc"; + std::string result; + + for (const auto& [id, name] : part_group_table) { + result += fmt::format("(defconstant {} (-> *part-group-id-table* {}))", name, id); + result += "\n"; + } + + file_util::write_text_file(ptable_fpath, result); + + auto ptable_dump_fpath = output_dir / "dump" / "part-groups.min.json"; + nlohmann::json json = part_group_table; + file_util::create_dir_if_needed_for_file(ptable_dump_fpath); + file_util::write_text_file(ptable_dump_fpath, json.dump(-1)); + + lg::info("Written part group table in {:.2f} ms", timer.getMs()); +} + void ObjectFileDB::dump_raw_objects(const fs::path& output_dir) { for_each_obj([&](ObjectFileData& data) { auto dest = output_dir / data.to_unique_name(); diff --git a/decompiler/ObjectFile/ObjectFileDB.h b/decompiler/ObjectFile/ObjectFileDB.h index 09a1a1ece8..049064433c 100644 --- a/decompiler/ObjectFile/ObjectFileDB.h +++ b/decompiler/ObjectFile/ObjectFileDB.h @@ -190,6 +190,8 @@ class ObjectFileDB { void extract_art_info(); void dump_art_info(const fs::path& output_dir); void dump_raw_objects(const fs::path& output_dir); + void dump_part_group_table(const fs::path& output_dir, + const std::unordered_map& part_group_table); void write_object_file_words(const fs::path& output_dir, bool dump_data, bool dump_code); void write_disassembly(const fs::path& output_dir, bool disassemble_data, @@ -199,12 +201,12 @@ class ObjectFileDB { void process_object_file_data( ObjectFileData& data, const fs::path& output_dir, - const Config& config, + Config& config, const std::unordered_set& skip_functions, const std::unordered_map>& skip_states); void analyze_functions_ir2( const fs::path& output_dir, - const Config& config, + Config& config, const std::optional> prefile_callback, const std::optional> postfile_callback, const std::unordered_set& skip_functions, diff --git a/decompiler/ObjectFile/ObjectFileDB_IR2.cpp b/decompiler/ObjectFile/ObjectFileDB_IR2.cpp index 36e76e1279..c25e42562c 100644 --- a/decompiler/ObjectFile/ObjectFileDB_IR2.cpp +++ b/decompiler/ObjectFile/ObjectFileDB_IR2.cpp @@ -38,7 +38,7 @@ namespace decompiler { void ObjectFileDB::process_object_file_data( ObjectFileData& data, const fs::path& output_dir, - const Config& config, + Config& config, const std::unordered_set& skip_functions, const std::unordered_map>& skip_states) { Timer file_timer; @@ -50,7 +50,8 @@ void ObjectFileDB::process_object_file_data( if (data.linked_data.functions_by_seg.size() == 3) { enum { DEFPART, DEFSTATE, DEFSKELGROUP } step = DEFPART; try { - run_defpartgroup(data.linked_data.functions_by_seg.at(TOP_LEVEL_SEGMENT).front()); + run_defpartgroup(data.linked_data.functions_by_seg.at(TOP_LEVEL_SEGMENT).front(), + config.part_group_table); step = DEFSTATE; run_defstate(data.linked_data.functions_by_seg.at(TOP_LEVEL_SEGMENT).front(), skip_states); step = DEFSKELGROUP; @@ -126,7 +127,7 @@ void ObjectFileDB::process_object_file_data( */ void ObjectFileDB::analyze_functions_ir2( const fs::path& output_dir, - const Config& config, + Config& config, const std::optional> prefile_callback, const std::optional> postfile_callback, const std::unordered_set& skip_functions, diff --git a/decompiler/analysis/find_defpartgroup.cpp b/decompiler/analysis/find_defpartgroup.cpp index cae544d910..27ebbeaf50 100644 --- a/decompiler/analysis/find_defpartgroup.cpp +++ b/decompiler/analysis/find_defpartgroup.cpp @@ -194,7 +194,8 @@ L80: } // namespace -void run_defpartgroup(Function& top_level_func) { +void run_defpartgroup(Function& top_level_func, + std::unordered_map& part_group_table) { auto& env = top_level_func.ir2.env; auto& pool = *top_level_func.ir2.form_pool; if (!top_level_func.ir2.top_form) { @@ -233,6 +234,7 @@ void run_defpartgroup(Function& top_level_func) { if (sym.get_str() == "*part-group-id-table*") { DefpartgroupElement::StaticInfo group; read_static_group_data(src, env, group); + part_group_table.emplace(id, group.name); auto rewritten = pool.alloc_element(group, id); if (rewritten) { fe = rewritten; diff --git a/decompiler/analysis/find_defpartgroup.h b/decompiler/analysis/find_defpartgroup.h index bceed3b914..90ed661957 100644 --- a/decompiler/analysis/find_defpartgroup.h +++ b/decompiler/analysis/find_defpartgroup.h @@ -3,5 +3,6 @@ #include "decompiler/Function/Function.h" namespace decompiler { -void run_defpartgroup(Function& top_level_func); +void run_defpartgroup(Function& top_level_func, + std::unordered_map& part_group_table); } diff --git a/decompiler/analysis/insert_lets.cpp b/decompiler/analysis/insert_lets.cpp index e035b8550e..b5ac604433 100644 --- a/decompiler/analysis/insert_lets.cpp +++ b/decompiler/analysis/insert_lets.cpp @@ -1515,10 +1515,10 @@ FormElement* rewrite_joint_macro(LetElement* in, const Env& env, FormPool& pool) args); } -FormElement* rewrite_part_tracker_new(const std::string& type, - LetElement* in, - const Env& env, - FormPool& pool) { +FormElement* rewrite_part_tracker_new_jak3(const std::string& type, + LetElement* in, + const Env& env, + FormPool& pool) { // (let ((s4-11 (get-process *default-dead-pool* part-tracker #x4000 0))) // (when s4-11 // (let ((t9-26 (method-of-type part-tracker activate))) @@ -1673,6 +1673,139 @@ FormElement* rewrite_part_tracker_new(const std::string& type, ->try_as_single_element(); } +FormElement* rewrite_part_tracker_new_jak2(const std::string& type, + LetElement* in, + const Env& env, + FormPool& pool) { + // (let ((s5-8 (get-process *default-dead-pool* part-tracker #x4000))) + // (when s5-8 + // (let ((t9-17 (method-of-type part-tracker activate))) + // (t9-17 (the-as part-tracker s5-8) self (symbol->string (-> part-tracker symbol)) (the-as + // pointer #x70004000)) + // ) + // (let ((t9-18 run-function-in-process) + // (a0-34 s5-8) + // (a1-21 part-tracker-init) + // (a2-11 (-> *part-group-id-table* 126)) + // (a3-9 0) + // (t0-6 #f) + // (t1-4 #f) + // (t2-4 #f) + // (t3-0 *launch-matrix*) + // ) + // (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 + // a2-11 + // a3-9 + // t0-6 + // t1-4 + // t2-4 + // t3-0 + // ) + // ) + // (-> s5-8 ppointer) + // ) + // ) + auto cond = dynamic_cast(in->body()->at(0)); + if (!cond) { + return nullptr; + } + auto when_body = cond->entries.at(0).body; + auto activate_let = dynamic_cast(when_body->at(0)); + if (!activate_let) { + return nullptr; + } + auto activate_matcher = Matcher::let( + false, + {LetEntryMatcher::any(Matcher::op(GenericOpMatcher::fixed(FixedOperatorKind::METHOD_OF_TYPE), + {Matcher::any(), Matcher::constant_token("activate")}), + 0)}, + {Matcher::func(Matcher::reg(Register(Reg::GPR, Reg::T9)), + {Matcher::any(), Matcher::any(1), Matcher::any(2), Matcher::any()})}); + auto activate_mr = match(activate_matcher, when_body->at(0)); + if (!activate_mr.matched) { + return nullptr; + } + auto name = activate_mr.maps.forms.find(2); + auto to = activate_mr.maps.forms.find(1); + auto params_let = dynamic_cast(when_body->at(1)); + if (!params_let) { + return nullptr; + } + auto params_matcher = Matcher::unmerged_let( + { + LetEntryMatcher::any(Matcher::symbol("run-function-in-process")), + LetEntryMatcher::any(Matcher::any()), + LetEntryMatcher::any(Matcher::symbol("part-tracker-init")), + LetEntryMatcher::any(Matcher::any(0)), // group + LetEntryMatcher::any(Matcher::any(1)), // duration + LetEntryMatcher::any(Matcher::any(2)), // callback + LetEntryMatcher::any(Matcher::any(3)), // userdata + LetEntryMatcher::any(Matcher::any(4)), // target + LetEntryMatcher::any(Matcher::any()) // *launch-matrix* + }, + {Matcher::set(Matcher::any(), Matcher::any(5))}); + auto params_mr = match(params_matcher, when_body->at(1)); + if (!params_mr.matched) { + return nullptr; + } + + std::vector macro_args; + macro_args.push_back(pool.form(":to")); + macro_args.push_back(to->second); + auto name_str = dynamic_cast(name->second->try_as_single_element()); + if (name_str && name_str->value() != type) { + macro_args.push_back(pool.form(":name")); + macro_args.push_back(name->second); + } + auto group = params_mr.maps.forms.find(0); + macro_args.push_back(pool.form(":group")); + macro_args.push_back(group->second); + auto duration = params_mr.maps.forms.find(1); + if (duration->second->to_string(env) != "0") { + macro_args.push_back(pool.form(":duration")); + macro_args.push_back(duration->second); + } + auto callback = params_mr.maps.forms.find(2); + if (callback->second->to_string(env) != "#f") { + macro_args.push_back(pool.form(":callback")); + macro_args.push_back(callback->second); + } + auto userdata = params_mr.maps.forms.find(3); + if (userdata->second->to_string(env) != "#f") { + macro_args.push_back(pool.form(":userdata")); + macro_args.push_back(userdata->second); + } + auto target = params_mr.maps.forms.find(4); + if (target->second->to_string(env) != "#f") { + macro_args.push_back(pool.form(":target")); + macro_args.push_back(target->second); + } + auto mat_joint = params_mr.maps.forms.find(5); + auto as_deref = mat_joint->second->try_as_element(); + if (!as_deref) { + return nullptr; + } + if (!as_deref->tokens().back().is_field_name("quad")) { + return nullptr; + } + as_deref->tokens().pop_back(); + macro_args.push_back(pool.form(":mat-joint")); + if (as_deref->tokens().empty()) { + macro_args.push_back(as_deref->base()); + } else { + macro_args.push_back( + pool.form(as_deref->base(), as_deref->is_addr_of(), as_deref->tokens())); + } + return pool + .form( + GenericOperator::make_function(pool.form("part-tracker-spawn")), + macro_args) + ->try_as_single_element(); +} + FormElement* rewrite_call_parent_state_handler(LetElement* in, const Env& env, FormPool& pool) { // (let ((t9-3 (-> (find-parent-state) code))) // (if t9-3 @@ -1794,7 +1927,18 @@ FormElement* rewrite_proc_new(LetElement* in, const Env& env, FormPool& pool) { // part-tracker-spawn macro for jak 3 if (env.version >= GameVersion::Jak3 && (proc_type == "part-tracker" || proc_type == "part-tracker-subsampler")) { - return rewrite_part_tracker_new(proc_type, in, env, pool); + auto form = rewrite_part_tracker_new_jak3(proc_type, in, env, pool); + if (form) { + return form; + } + } + + // part-tracker-spawn macro for jak 2 + if (env.version == GameVersion::Jak2 && proc_type == "part-tracker") { + auto form = rewrite_part_tracker_new_jak2(proc_type, in, env, pool); + if (form) { + return form; + } } auto macro_form = diff --git a/decompiler/config.cpp b/decompiler/config.cpp index 47f7ab6f81..b326bdd53e 100644 --- a/decompiler/config.cpp +++ b/decompiler/config.cpp @@ -90,6 +90,14 @@ Config make_config_via_json(nlohmann::json& json) { config.texture_info_dump = serialized; } + if (json.contains("part_group_table_dump_file")) { + auto json_data = file_util::read_text_file( + file_util::get_file_path({json.at("part_group_table_dump_file").get()})); + std::unordered_map serialized = + parse_commented_json(json_data, "part_group_table_dump_file"); + config.part_group_table = serialized; + } + if (json.contains("obj_file_name_map_file")) { config.obj_file_name_map_file = json.at("obj_file_name_map_file").get(); } @@ -112,9 +120,11 @@ Config make_config_via_json(nlohmann::json& json) { if (json.contains("process_subtitle_images")) { config.process_subtitle_images = json.at("process_subtitle_images").get(); } + config.process_part_group_table = json.at("process_part_group_table").get(); config.dump_art_group_info = json.at("dump_art_group_info").get(); config.dump_joint_geo_info = json.at("dump_joint_geo_info").get(); config.dump_tex_info = json.at("dump_tex_info").get(); + config.dump_part_group_table = json.at("dump_part_group_table").get(); config.hexdump_code = json.at("hexdump_code").get(); config.hexdump_data = json.at("hexdump_data").get(); config.find_functions = json.at("find_functions").get(); diff --git a/decompiler/config.h b/decompiler/config.h index 7ac7793a25..d7d870be6e 100644 --- a/decompiler/config.h +++ b/decompiler/config.h @@ -119,9 +119,11 @@ struct Config { bool process_art_groups = false; bool process_subtitle_text = false; bool process_subtitle_images = false; + bool process_part_group_table = false; bool dump_art_group_info = false; bool dump_joint_geo_info = false; bool dump_tex_info = false; + bool dump_part_group_table = false; bool rip_levels = false; bool extract_collision = false; bool find_functions = false; @@ -185,6 +187,7 @@ struct Config { std::unordered_map texture_info_dump; std::unordered_map joint_node_hacks; std::unordered_map process_stack_size_overrides; + std::unordered_map part_group_table; std::unordered_map> import_deps_by_file; diff --git a/decompiler/config/jak1/jak1_config.jsonc b/decompiler/config/jak1/jak1_config.jsonc index 8d44e668be..912f662778 100644 --- a/decompiler/config/jak1/jak1_config.jsonc +++ b/decompiler/config/jak1/jak1_config.jsonc @@ -46,12 +46,16 @@ "process_game_count": true, // write goal imports for art groups "process_art_groups": false, + // write goal imports for the part group table + "process_part_group_table": true, // write out a json file containing the art info mapping, run this with all objects allowed "dump_art_group_info": false, // write out a json file containing the joint node mapping, run this with all objects allowed "dump_joint_geo_info": false, // write out a json file containing tpage and texture mappings, run with all objects allowed "dump_tex_info": false, + // write out a json file containing the part group table, run with all objects allowed + "dump_part_group_table": false, /////////////////////////// // WEIRD OPTIONS @@ -100,6 +104,7 @@ "art_group_dump_file": "decompiler/config/jak1/ntsc_v1/art-group-info.min.json", "joint_node_dump_file": "decompiler/config/jak1/ntsc_v1/joint-node-info.min.json", "tex_dump_file": "decompiler/config/jak1/ntsc_v1/tex-info.min.json", + "part_group_table_dump_file": "decompiler/config/jak1/ntsc_v1/part-groups.min.json", "process_stack_size_file": "decompiler/config/jak1/ntsc_v1/process_stack_size_overrides.jsonc", // optional: a predetermined object file name map from a file. diff --git a/decompiler/config/jak1/ntsc_v1/part-groups.min.json b/decompiler/config/jak1/ntsc_v1/part-groups.min.json new file mode 100644 index 0000000000..68559db26d --- /dev/null +++ b/decompiler/config/jak1/ntsc_v1/part-groups.min.json @@ -0,0 +1 @@ +[[633,"group-lavatube-heavy-smoke-end"],[632,"group-lavatube-heavy-smoke-start"],[631,"group-lavatube-heavy-smoke"],[628,"group-lavatube-vents"],[627,"group-lavatube-fountain"],[626,"group-lavatube-green-smoke-angle-3"],[625,"group-lavatube-green-smoke-angle-2"],[624,"group-lavatube-green-smoke-angle-1"],[623,"group-lavatube-green-smoke-down-3"],[622,"group-lavatube-green-smoke-down-2"],[621,"group-lavatube-green-smoke-down-1"],[630,"group-lavatube-lowlava-40x40"],[629,"group-lavatube-crust-40x40"],[617,"group-lavatube-lowlava-20x20"],[616,"group-lavatube-crust-20x20"],[546,"group-energyball-explode"],[545,"group-energyball-always"],[544,"group-energyarm"],[543,"group-lavaballoon"],[542,"group-chainmine-explode"],[541,"group-darkecobarrel-explode"],[540,"group-darkecobarrel-hit"],[539,"group-yeti-slave-appear2"],[538,"group-yeti-slave-appear1"],[537,"group-snow-birds"],[536,"group-snow-door-torch"],[535,"group-snow-mountain-snow"],[534,"group-part-snow-torch"],[533,"group-snow-snowdrops6"],[532,"group-snow-snowdrops5"],[531,"group-snow-snowdrops4"],[530,"group-snow-snowdrops3"],[529,"group-snow-snowdrops2"],[528,"group-snow-snowdrops1"],[527,"group-ram-wheel-puffs"],[526,"group-ram-hit-wall"],[574,"group-ram-boss-foot-puff"],[525,"group-ram-boss-shield-on-fire"],[524,"group-ram-boss-proj-die"],[523,"group-ram-boss-proj-hit"],[522,"group-ram-boss-proj-fly"],[521,"group-ram-boss-proj-grow"],[520,"group-snow-bumper-shove"],[519,"group-snow-bumper-idle"],[518,"group-flutflut-plat-large"],[517,"group-flutflut-plat-med"],[516,"group-flutflut-plat-small"],[515,"group-snow-gears-dripping"],[514,"group-snow-fort-gate-snowdrops"],[513,"group-snow-fort-gate-hits-bottom"],[512,"group-snow-fort-gate-coming-down"],[511,"group-snow-yellow-eco-room-activate"],[510,"group-snow-yellow-eco-room-open"],[509,"group-ice-cube-shatter"],[567,"group-ice-cube-foot-puff"],[508,"group-ice-cube-appear2"],[507,"group-ice-cube-appear1"],[506,"group-part-robocave-torch"],[566,"group-minershort-candle"],[503,"group-village3-sagehut-understeam"],[502,"group-village3-sagehut-steam"],[501,"group-village3-sagehut-boiling"],[500,"group-village3-sagehut-warpgate"],[499,"group-village3-lava-lava-20x20"],[498,"group-village3-bottom-puff-30"],[497,"group-village3-bottom-puff-29"],[496,"group-village3-bottom-puff-28"],[495,"group-village3-bottom-puff-27"],[494,"group-village3-bottom-puff-25"],[493,"group-village3-steam-puff-23"],[492,"group-village3-steam-puff-22"],[491,"group-village3-steam-puff-31"],[490,"group-spewing-volcano-37"],[489,"group-spewing-volcano-36"],[488,"group-village3-minor-fire"],[487,"group-village3-sulphur-15"],[486,"group-village3-sulphur-14"],[485,"group-village3-sulphur-13"],[484,"group-village3-sulphur-12"],[483,"group-village3-sulphur-11"],[482,"group-village3-sulphur-10"],[481,"group-village3-sulphur-09"],[480,"group-village3-sulphur-08"],[479,"group-village3-sulphur-07"],[478,"group-village3-sulphur-06"],[477,"group-village3-sulphur-05"],[476,"group-village3-candle"],[475,"group-shortcut-boulder-explosion"],[474,"group-tntbarrel-explosion"],[473,"group-tntbarrel-BIG-explosion"],[472,"group-ogre-lava-lava-20x20"],[471,"group-ogreboss-missile-impact"],[470,"group-ogreboss-pre-missile"],[469,"group-ogreboss-missile"],[468,"group-ogreboss-boulder-grow"],[466,"group-ogre-bridge-splash"],[465,"group-ogreboss-lava-splash"],[464,"group-ogreboss-column-break"],[228,"group-dark-cluster-explosion"],[227,"group-balloon"],[462,"group-rolling-explode-ring-blue"],[461,"group-rolling-spawn-ring-blue"],[460,"group-rolling-ring-blue"],[459,"group-rolling-explode-ring"],[458,"group-rolling-spawn-ring"],[457,"group-rolling-ring"],[456,"group-peeper"],[455,"group-dark-plant"],[454,"group-bully-explode"],[453,"group-pipegame-blow2"],[452,"group-pipegame-blow1"],[451,"group-pipegame-blow0"],[450,"group-pipegame-jar-suck2"],[449,"group-pipegame-jar-suck1"],[448,"group-pipegame-jar-suck0"],[447,"group-whirlpool-swirl"],[446,"group-sunken-water-deadly-water"],[620,"group-exit-chamber-ripples"],[443,"group-steam-cap-plume-spread"],[442,"group-steam-cap-plume"],[441,"group-steam-cap-sides"],[440,"group-orbit-plat-jet"],[439,"group-square-platform-submerge-splash"],[438,"group-square-platform-submerge-bubbles"],[437,"group-square-platform-breach-splash"],[436,"group-side-to-side-plat"],[435,"group-sunken-heatpipe-268"],[434,"group-sunken-heatpipe-267"],[433,"group-sunken-heatpipe-266"],[432,"group-sunken-heatpipe-265"],[431,"group-sunken-heatpipe-264"],[430,"group-sunken-heatpipe-254"],[429,"group-sunken-heatpipe-251"],[428,"group-sunken-heatpipe-278"],[121,"group-flut-attack-strike-ground"],[662,"group-citadel-warpgate"],[120,"group-flut-trans-pad"],[661,"group-levitator-on-small"],[116,"group-racer-explode"],[657,"group-2d-intro-mist"],[115,"group-racer-trans-pad"],[656,"group-part-save-icon"],[114,"group-part-hud-racer-heat-slice"],[655,"group-white-eco"],[113,"group-part-hud-racer-heat"],[654,"group-robotboss-yellow-smoke"],[112,"group-part-hud-racer-heat-dial"],[653,"group-robotboss-yellow-blowup"],[111,"group-part-hud-racer-heat-backing"],[652,"group-robotboss-yellowshot"],[110,"group-part-hud-racer-speed-front"],[651,"group-robotboss-yellowshot-charge"],[109,"group-part-hud-racer-speed"],[650,"group-robotboss-red-smoke"],[108,"group-part-hud-racer-speed-dial"],[649,"group-robotboss-red-blowup"],[183,"group-jungle-waterfall-4"],[181,"group-jungle-waterfall-2"],[180,"group-jungle-waterfall-1"],[179,"group-fish-collect"],[689,"group-jungle-binoculars-aligned"],[148,"group-training-geyser-4"],[175,"group-darkvine-puffs"],[173,"group-junglesnake-dropping-down"],[643,"group-green-eco-lurker-death"],[102,"group-yellow-eco-fireball"],[178,"group-normal-fish"],[692,"group-light-eco-child"],[151,"group-training-butterflies"],[177,"group-bad-fish"],[691,"group-light-eco-mother"],[150,"group-training-warpgate"],[176,"group-jungle-binoculars"],[690,"group-light-eco-mother-growing"],[149,"group-training-geyser-6"],[706,"group-2d-big-door-whiteout"],[165,"group-beach-22"],[184,"group-jungle-dapple-light-1"],[698,"group-bigdoor-open"],[157,"group-beach-sandworm"],[190,"group-jungle-blue-eco-room-activate"],[704,"group-robotboss-splash"],[163,"group-beach-24"],[182,"group-jungle-waterfall-3"],[696,"group-robotboss-explode"],[155,"group-beach-grotto-pole-rocks"],[189,"group-jungle-blue-eco-room-open"],[703,"group-robotboss-joints"],[162,"group-beach-waterfall"],[186,"group-jungle-lurkermachine-3"],[700,"group-target-white-eco-joints"],[159,"group-lurkercrab-slide"],[185,"group-jungle-tower-spewer"],[699,"group-target-white-eco-ground"],[158,"group-beach-sandworm-norocks"],[668,"group-finalboss-red-claw-beam"],[127,"group-village1-butterflies"],[667,"group-finalboss-blue-claw-beam-impact"],[666,"group-finalboss-blue-claw-beam"],[128,"group-village1-moth"],[642,"group-robotboss-yellowshot-launch"],[101,"group-part-progress-orb-small"],[648,"group-robotboss-redshot"],[107,"group-standard-plat"],[647,"group-robotboss-redshot-warning"],[106,"group-sharkey-splash"],[665,"group-robotboss-redshot-body"],[124,"group-win-wind-mill-hires"],[641,"group-robotboss-redshot-launch"],[100,"group-part-progress-buzzer-small"],[646,"group-robotboss-redshot-charge"],[105,"group-part-tester"],[664,"group-robotboss-greenshot"],[123,"group-win-wind-mill"],[640,"group-robotboss-greenshot-launch"],[99,"group-part-progress-orb"],[663,"group-robotboss-darkecobomb-tick"],[122,"group-assistant-torch"],[639,"group-robotboss-darkecobomb-glow"],[98,"group-part-progress-buzzer"],[638,"group-robotboss-darkecobomb-launch"],[97,"group-part-progress-hud-power-cell-whole"],[645,"group-robotboss-blue-smoke"],[104,"group-part-yellow-eco-fireball-hit"],[644,"group-robotboss-blue-blowup"],[103,"group-part-yellow-eco-fireball-launcher"],[637,"group-robotboss-blue-beam-impact"],[96,"group-part-progress-hud-power-cell-center"],[636,"group-robotboss-blue-beam"],[95,"group-part-progress-card-slot-04"],[707,"group-part-screen1"],[166,"group-beach-18"],[172,"group-beach-moth"],[685,"group-firehose-blast-smoke"],[144,"group-scarecrow-joint-explode"],[171,"group-beach-butterflies"],[170,"group-beach-14"],[683,"group-part-citadel-torch"],[142,"group-village1-trans-pad"],[169,"group-beach-15"],[682,"group-2d-credits-mist"],[141,"group-village1-misty-fog"],[168,"group-beach-16"],[167,"group-beach-17"],[708,"group-burn-death"],[679,"group-robotboss-redshot-test"],[138,"group-village1-sagehut-rings-3"],[164,"group-beach-23"],[705,"group-part-hud-orb-all"],[677,"group-robotboss-yellow-claw-glow"],[136,"group-village1-sagehut-rings"],[676,"group-robotboss-red-claw-glow"],[135,"group-village1-bird-lady-birds"],[675,"group-robotboss-green-claw-glow"],[134,"group-village1-fountain"],[161,"group-beach-grotto-2"],[702,"group-target-white-eco-hand-shot"],[674,"group-robotboss-blue-claw-glow"],[133,"group-village1-butterfly-sitting"],[160,"group-seagull-takeoff"],[701,"group-target-white-eco-hand-glow"],[673,"group-finalboss-green-claw-beam-impact"],[132,"group-village1-sagehut-seagulls"],[672,"group-finalboss-green-claw-beam"],[131,"group-village1-mayor-fire"],[671,"group-finalboss-yellow-claw-beam-impact"],[130,"group-village1-pot"],[670,"group-finalboss-yellow-claw-beam"],[129,"group-village1-hummingbird"],[156,"group-beach-harvester-rock-explosion"],[119,"group-beach-cannon-fire"],[660,"group-levitator-on-big"],[118,"group-beach-sack-explosion"],[659,"group-levitator-blue-beam-impact"],[117,"group-beach-sack-fuse"],[658,"group-levitator-blue-beam"],[187,"group-jungle-lurkermachine-1"],[444,"group-dark-eco-nasty"],[619,"group-final-boss-mine-explosion"],[78,"group-part-hud-health-3"],[32,"group-lava-death"],[573,"group-part-progress-button-circle"],[31,"group-dark-eco-death"],[572,"group-part-progress-button-triangle"],[30,"group-slide-poof-crwood"],[571,"group-part-progress-button-square"],[29,"group-slide-poof-wood"],[570,"group-part-progress-button-x"],[596,"group-citb-coil-glow"],[82,"group-part-hud-eco-timer"],[81,"group-part-hud-buzzer"],[28,"group-slide-poof-stone"],[27,"group-slide-poof-grass"],[26,"group-slide-poof-sand"],[25,"group-just-footprint-sand"],[24,"group-just-poof-sand"],[565,"group-sunken-sheild"],[23,"group-run-poof-sand"],[564,"group-ogreboulder-trail"],[22,"group-just-footprint-grass"],[563,"group-allpontoons-trail"],[21,"group-just-poof-grass"],[562,"group-sequenceC-dark-splash"],[20,"group-run-poof-grass"],[561,"group-sequenceC-exploding-can"],[80,"group-part-hud-power-cell-whole"],[73,"group-dark-eco-box-explosion"],[614,"group-mother-spider-leg"],[587,"group-run-poof-pcmetal"],[79,"group-part-hud-orb"],[19,"group-just-poof-wood"],[560,"group-sequenceC-glowing-can"],[18,"group-run-poof-wood"],[17,"group-just-poof-crwood"],[558,"group-evilsib-hover"],[16,"group-run-poof-crwood"],[557,"group-evilsib-appear"],[5,"group-punch-hit"],[34,"group-stars"],[575,"group-land-poof-dirt"],[71,"group-crate-explode"],[612,"group-part-first-person-hud-right"],[585,"group-run-poof-ice"],[44,"group-part-vent-blue-active"],[4,"group-spin-hit"],[70,"group-blue-hit-ground-effect"],[611,"group-part-first-person-hud-left"],[584,"group-just-footprint-snow"],[43,"group-eco-blue-collect"],[590,"group-slide-poof-snow"],[49,"group-eco-red-collect"],[76,"group-part-hud-health-1"],[3,"group-red-eco-spinkick"],[69,"group-red-collect"],[610,"group-citb-green-sage-beam-impact"],[583,"group-just-poof-snow"],[42,"group-eco-blue"],[589,"group-slide-poof-pcmetal"],[48,"group-eco-red"],[75,"group-part-hud-pickup"],[2,"group-red-eco-strike-ground"],[68,"group-yellow-collect"],[609,"group-citb-yellow-sage-beam-impact"],[582,"group-run-poof-snow"],[41,"group-part-water-splash-small"],[588,"group-just-poof-pcmetal"],[74,"group-buzzer-crate"],[615,"group-part-progress-save-icon"],[77,"group-part-hud-health-2"],[618,"group-mother-spider-leg-socket"],[591,"group-slide-poof-ice"],[50,"group-part-vent-red-active"],[597,"group-citb-generator-off"],[56,"group-eco-yellow"],[83,"group-part-hud-eco-timer-backing"],[1,"group-target-hit"],[553,"group-beach-rocks-start"],[12,"group-land-poof-crwood"],[39,"group-swamp-launcher"],[580,"group-land-poof-ice"],[10,"group-land-poof-grass"],[551,"group-ogreboulder-hit-wall"],[38,"group-jungle-launcher"],[579,"group-slide-poof-dirt"],[9,"group-land-poof-snow"],[37,"group-beach-launcher"],[578,"group-just-footprint-dirt"],[8,"group-land-poof-sand"],[36,"group-green-sun"],[577,"group-just-poof-dirt"],[35,"group-sun"],[576,"group-run-poof-dirt"],[6,"group-smack-surface"],[14,"group-run-poof-stone"],[555,"group-beach-rocks-land"],[581,"group-land-poof-pcmetal"],[40,"group-part-water-splash"],[67,"group-blue-collect"],[608,"group-citb-red-sage-beam-impact"],[586,"group-just-poof-ice"],[45,"group-part-vent-blue-inactive"],[72,"group-crate-steel-explode"],[613,"group-part-first-person-hud-selector"],[445,"group-dark-eco-pool-nasty"],[188,"group-rain-screend-drop-real"],[61,"group-eco-green-collect"],[602,"group-citb-coil-off"],[11,"group-land-poof-wood"],[552,"group-ogreboulder-splash"],[13,"group-land-poof-stone"],[554,"group-beach-rocks-fall"],[15,"group-just-poof-stone"],[51,"group-part-vent-red-inactive"],[52,"group-part-vent-yellow-active"],[53,"group-part-vent-yellow-inactive"],[60,"group-eco-green-pill-collect"],[601,"group-citb-robotboss-shield"],[62,"group-part-vent-green-active"],[603,"group-citb-blue-sage-beam"],[63,"group-fuel-cell-starburst"],[604,"group-citb-red-sage-beam"],[57,"group-eco-yellow-collect"],[598,"group-citb-generator-break"],[64,"group-money-starburst"],[605,"group-citb-yellow-sage-beam"],[58,"group-eco-green"],[599,"group-citb-generator-mushroom-on"],[65,"group-buzzer-effect"],[606,"group-citb-green-sage-beam"],[59,"group-eco-green-pill"],[600,"group-citb-generator-on"],[66,"group-green-collect"],[607,"group-citb-blue-sage-beam-impact"],[84,"group-part-hud-timer-blue"],[85,"group-part-progress-hud-previous"],[86,"group-part-progress-hud-next"],[87,"group-part-progress-hud-selector"],[88,"group-part-progress-hud-left"],[89,"group-part-progress-hud-right"],[90,"group-part-progress-hud-tint"],[91,"group-part-progress-card-cell"],[92,"group-part-progress-card-slot-01"],[93,"group-part-progress-card-slot-02"],[634,"group-village2-fireboulder-off"],[94,"group-part-progress-card-slot-03"],[137,"group-village1-sagehut-rings-2"],[678,"group-village2-fireboulder-hover"],[139,"group-village1-sagehut-drips"],[140,"group-village1-sagehut-warpgate"],[681,"group-sequenceC-blow-dust"],[684,"group-village1-training-spouts"],[143,"group-scarecrow-explode"],[686,"group-sequenceAV-splash"],[145,"group-scarecrow-hit"],[687,"group-sequenceAV-spit"],[146,"group-training-geyser-2"],[688,"group-sequenceAV-2d-intro-mist"],[147,"group-training-geyser-5"],[152,"group-training-birds"],[153,"group-training-waterfall-21"],[154,"group-training-waterfall-20"],[191,"group-windturbine-particles"],[192,"group-misty-bone-01"],[193,"group-misty-bone-03"],[194,"group-misty-bone-02"],[195,"group-misty-bone-07"],[196,"group-misty-boat-paddle"],[197,"group-keg-bounce"],[198,"group-quicksandlurker-missile"],[199,"group-quicksandlurker-pre-missile"],[200,"group-quicksandlurker-missile-impact"],[201,"group-quicksandlurker-hide"],[202,"group-quicksandlurker-popup"],[203,"group-balloonlurker-pilot-death"],[204,"group-balloonlurker-mine-explosion"],[205,"group-misty-ship-steam"],[206,"group-part-misty-torch"],[207,"group-misty-fog"],[208,"group-misty-lurkermachine-vent-316"],[209,"group-misty-lurkermachine-vent-313"],[210,"group-misty-lurkermachine-vent-308"],[211,"group-misty-lurkermachine-vent-307"],[212,"group-misty-lurkermachine-vent-305"],[213,"group-misty-lurkermachine-vent-309"],[214,"group-misty-lurkermachine-vent-2"],[215,"group-misty-lurkermachine-vent-328"],[216,"group-misty-lurkermachine-vent-325"],[217,"group-misty-lurkermachine-vent-320"],[218,"group-misty-lurkermachine-vent-324"],[219,"group-misty-fort-steam"],[220,"group-misty-fort-steam2"],[221,"group-misty-fort-steam3"],[222,"group-misty-fort-steam4"],[223,"group-misty-lurkermachine-spout-314"],[224,"group-misty-lurkermachine-spout-310"],[225,"group-misty-lurkermachine-spout-311"],[226,"group-misty-lurkermachine-spout-312"],[229,"group-firecanyon-lava-1"],[230,"group-firecanyon-lava-2"],[231,"group-firecanyon-lava-3"],[232,"group-firecanyon-lava-5"],[233,"group-firecanyon-lava-6"],[234,"group-firecanyon-lava-7"],[235,"group-firecanyon-lava-8"],[236,"group-firecanyon-lava-9"],[237,"group-firecanyon-lava-10"],[238,"group-firecanyon-lava-11"],[239,"group-firecanyon-lava-14"],[240,"group-firecanyon-lava-15"],[241,"group-firecanyon-lava-16"],[242,"group-firecanyon-lava-18"],[243,"group-firecanyon-lava-19"],[244,"group-firecanyon-lava-21"],[245,"group-firecanyon-lava-22"],[246,"group-firecanyon-lava-60"],[247,"group-firecanyon-lava-62"],[248,"group-firecanyon-lava-63"],[249,"group-firecanyon-lava-64"],[250,"group-firecanyon-heat-44"],[251,"group-firecanyon-heat-45"],[252,"group-firecanyon-heat-46"],[253,"group-firecanyon-heat-47"],[254,"group-firecanyon-heat-48"],[255,"group-firecanyon-heat-50"],[256,"group-firecanyon-heat-52"],[257,"group-firecanyon-heat-53"],[258,"group-firecanyon-heat-54"],[259,"group-firecanyon-heat-55"],[260,"group-firecanyon-heat-56"],[261,"group-firecanyon-heat-57"],[262,"group-firecanyon-heat-58"],[263,"group-firecanyon-heat-59"],[264,"group-village2-moth"],[265,"group-village2-tableflys"],[266,"group-village2-flamepot"],[267,"group-village2-flamepot-half"],[268,"group-village2-flamepot-alt1"],[269,"group-village2-flamepot-alt2"],[270,"group-village2-flamepot-off"],[271,"group-village2-fireboulder"],[272,"group-village2-window-flames-45"],[273,"group-village2-window-flames-41"],[274,"group-village2-big-boulder"],[275,"group-village2-sages-controlpanel"],[276,"group-village2-sages-machine"],[277,"group-village2-waterfall-29"],[278,"group-village2-waterfall-30"],[279,"group-village2-waterfall-31"],[280,"group-village2-waterfall-32"],[281,"group-village2-waterfall-33"],[282,"group-village2-waterfall-34"],[283,"group-village2-sagehut-warpgate"],[284,"group-village2-tree-fire"],[285,"group-tetherrock-explode"],[287,"group-swamp-tether-rock-hit"],[288,"group-assistant-bluehut-torch"],[289,"group-swamp-spike-up"],[290,"group-swamp-spike-down"],[291,"group-swamp-rock-explosion"],[292,"group-swamp-rat-nest-a-explosion"],[293,"group-swamp-rat-nest-b-explosion"],[294,"group-swamp-rat-nest-c-explosion"],[295,"group-swamp-rat-nest-a-puff"],[296,"group-swamp-rat-nest-b-puff"],[297,"group-swamp-rat-nest-c-puff"],[298,"group-kermit-charging-up"],[299,"group-kermit-charged-up"],[300,"group-kermit-pulse"],[301,"group-kermit-pulse-impact"],[302,"group-swamp-bayou-billy-hut"],[303,"group-swamp-bubbles-01"],[304,"group-swamp-bubbles-02"],[305,"group-swamp-bubbles-03"],[306,"group-swamp-bubbles-04"],[307,"group-swamp-bubbles-05"],[308,"group-swamp-bubbles-06"],[309,"group-swamp-bubbles-07"],[310,"group-swamp-bubbles-08"],[311,"group-swamp-bubbles-09"],[312,"group-swamp-bubbles-10"],[313,"group-swamp-bubbles-11"],[314,"group-swamp-bubbles-12"],[315,"group-swamp-bubbles-13"],[316,"group-swamp-bubbles-14"],[317,"group-swamp-torch"],[318,"group-part-maincave-torch"],[319,"group-cave-cavedrip-1"],[320,"group-cave-cavedrip-2"],[321,"group-cave-cavedrip-3"],[322,"group-dark-crystal-gnd-explode"],[323,"group-dark-crystal-water-explode"],[324,"group-spider-egg-hatches"],[325,"group-spider-egg-explodes"],[326,"group-mother-spider-proj-fly"],[327,"group-mother-spider-proj-hit"],[328,"group-mother-spider-proj-die"],[329,"group-gnawer-loses-segment"],[330,"group-gnawer-crumbs"],[331,"group-driller-lurker-drilling-debris"],[332,"group-sunken-heatpipe-183"],[333,"group-sunken-tunnel-bubbles-27"],[334,"group-sunken-tunnel-bubbles-32"],[335,"group-sunken-tunnel-bubbles-33"],[336,"group-sunken-tunnel-bubbles-199"],[337,"group-sunken-tunnel-bubbles-281"],[338,"group-sunken-tunnel-bubbles-202"],[339,"group-sunken-window-bubbles-35"],[340,"group-sunken-helix-bubbles-398"],[341,"group-sunken-helix-bubbles-397"],[342,"group-sunken-heatpipe-355"],[343,"group-sunken-heatpipe-361"],[344,"group-sunken-heatpipe-360"],[345,"group-sunken-heatpipe-377"],[346,"group-sunken-heatpipe-376"],[347,"group-sunken-heatpipe-375"],[348,"group-sunken-heatpipe-374"],[349,"group-sunken-heatpipe-363"],[350,"group-sunken-heatpipe-362"],[351,"group-sunken-heatpipe-364"],[352,"group-sunken-heatpipe-365"],[353,"group-sunken-window-bubbles-34"],[354,"group-sunken-window-bubbles-36"],[355,"group-sunken-window-bubbles-30"],[356,"group-sunken-window-bubbles-31"],[357,"group-sunken-window-bubbles-29"],[358,"group-sunken-window-bubbles-159"],[359,"group-sunken-window-bubbles-161"],[360,"group-sunken-window-bubbles-204"],[361,"group-sunken-window-bubbles-205"],[362,"group-sunken-window-bubbles-203"],[363,"group-sunken-window-bubbles-42"],[364,"group-sunken-window-bubbles-41"],[365,"group-sunken-window-bubbles-206"],[366,"group-sunken-window-bubbles-201"],[367,"group-sunken-window-bubbles-3"],[368,"group-sunken-window-bubbles-2"],[369,"group-sunken-heatpipe-382"],[370,"group-sunken-heatpipe-381"],[371,"group-sunken-heatpipe-380"],[372,"group-sunken-heatpipe-379"],[373,"group-sunken-heatpipe-378"],[374,"group-sunken-window-bubbles-402"],[375,"group-sunken-window-bubbles-401"],[376,"group-sunken-window-bubbles-400"],[377,"group-sunken-window-bubbles-399"],[378,"group-sunken-heatpipe-383"],[379,"group-sunken-heatpipe-198"],[380,"group-sunken-heatpipe-189"],[381,"group-sunken-heatpipe-193"],[382,"group-sunken-heatpipe-207"],[383,"group-sunken-window-bubbles-388"],[384,"group-sunken-window-bubbles-387"],[385,"group-sunken-window-bubbles-386"],[386,"group-sunken-window-bubbles-384"],[387,"group-sunken-window-bubbles-385"],[388,"group-sunken-window-bubbles-394"],[389,"group-sunken-window-bubbles-390"],[390,"group-sunken-window-bubbles-393"],[391,"group-sunken-window-bubbles-392"],[392,"group-sunken-window-bubbles-38"],[393,"group-sunken-window-bubbles-200"],[394,"group-sunken-window-bubbles-391"],[395,"group-sunken-heatpipe-282"],[396,"group-sunken-heatpipe-285"],[397,"group-sunken-heatpipe-288"],[398,"group-sunken-heatpipe-299"],[399,"group-sunken-heatpipe-302"],[400,"group-sunken-heatpipe-367"],[401,"group-sunken-heatpipe-371"],[402,"group-sunken-heatpipe-308"],[403,"group-sunken-heatpipe-312"],[404,"group-sunken-heatpipe-316"],[405,"group-sunken-heatpipe-320"],[406,"group-sunken-heatpipe-324"],[407,"group-sunken-heatpipe-328"],[408,"group-sunken-heatpipe-332"],[409,"group-sunken-heatpipe-333"],[410,"group-sunken-heatpipe-334"],[411,"group-sunken-heatpipe-335"],[412,"group-sunken-heatpipe-336"],[413,"group-sunken-heatpipe-337"],[414,"group-sunken-heatpipe-338"],[415,"group-sunken-heatpipe-339"],[416,"group-sunken-heatpipe-340"],[417,"group-sunken-heatpipe-341"],[418,"group-sunken-heatpipe-357"],[419,"group-sunken-heatpipe-356"],[420,"group-sunken-heatpipe-354"],[421,"group-sunken-heatpipe-227"],[422,"group-sunken-heatpipe-238"],[423,"group-sunken-heatpipe-239"],[424,"group-sunken-heatpipe-240"],[425,"group-sunken-heatpipe-241"],[426,"group-sunken-heatpipe-242"],[427,"group-sunken-heatpipe-243"]] diff --git a/decompiler/config/jak2/all-types.gc b/decompiler/config/jak2/all-types.gc index 39426b9405..6978a9c196 100644 --- a/decompiler/config/jak2/all-types.gc +++ b/decompiler/config/jak2/all-types.gc @@ -30486,7 +30486,7 @@ Consists of a header and a list of [[merc-effect]]s." (define-extern swingpole-init (function int object :behavior swingpole)) (define-extern manipy-post (function none :behavior manipy)) (define-extern manipy-init (function vector entity-actor skeleton-group vector object none :behavior manipy)) ;; (function vector entity-actor skeleton-group vector none :behavior manipy) -(define-extern part-tracker-init (function sparticle-launch-group time-frame (function part-tracker none) (pointer process-drawable) process matrix none :behavior part-tracker)) +(define-extern part-tracker-init (function sparticle-launch-group time-frame (function part-tracker none) uint process matrix none :behavior part-tracker)) (define-extern part-tracker-track-root (function sparticle-system sparticle-cpuinfo vector none)) (define-extern part-tracker-move-to-target (function part-tracker vector)) (define-extern part-tracker-track-target (function part-tracker vector)) diff --git a/decompiler/config/jak2/jak2_config.jsonc b/decompiler/config/jak2/jak2_config.jsonc index fb300393c3..30f4ca8722 100644 --- a/decompiler/config/jak2/jak2_config.jsonc +++ b/decompiler/config/jak2/jak2_config.jsonc @@ -42,12 +42,16 @@ "process_game_count": true, // write goal imports for art groups "process_art_groups": false, + // write goal imports for the part group table + "process_part_group_table": true, // write out a json file containing the art info mapping, run this with all objects allowed "dump_art_group_info": false, // write out a json file containing the joint node mapping, run this with all objects allowed "dump_joint_geo_info": false, // write out a json file containing tpage and texture mappings, run with all objects allowed "dump_tex_info": false, + // write out a json file containing the part group table, run with all objects allowed + "dump_part_group_table": false, // set to false to skip adding .STR files to the decompiler database "read_spools": false, @@ -106,6 +110,7 @@ "art_group_dump_file": "decompiler/config/jak2/ntsc_v1/art-group-info.min.json", "joint_node_dump_file": "decompiler/config/jak2/ntsc_v1/joint-node-info.min.json", "tex_dump_file": "decompiler/config/jak2/ntsc_v1/tex-info.min.json", + "part_group_table_dump_file": "decompiler/config/jak2/ntsc_v1/part-groups.min.json", "process_stack_size_file": "decompiler/config/jak2/ntsc_v1/process_stack_size_overrides.jsonc", // optional: a predetermined object file name map from a file. diff --git a/decompiler/config/jak2/ntsc_v1/part-groups.min.json b/decompiler/config/jak2/ntsc_v1/part-groups.min.json new file mode 100644 index 0000000000..580fa4a38a --- /dev/null +++ b/decompiler/config/jak2/ntsc_v1/part-groups.min.json @@ -0,0 +1 @@ +[[764,"group-hiphog-time-map-glow-fx"],[763,"group-hiphog-time-map-glow"],[762,"group-hiphog-krew-light"],[761,"group-hiphog-sig-gun-glow"],[760,"group-whack-gun-smoke"],[759,"group-whack-gun-yellow-shot-fired"],[758,"group-krew-spit"],[757,"group-hiphog-mirror"],[756,"group-hiphog-neon-clock-small"],[755,"group-hiphog-neon-clock"],[754,"group-hiphog-neon-hip-small"],[753,"group-hiphog-neon-hip"],[752,"group-hiphog-neon-hip-daxter"],[751,"group-hiphog-neon-morgan-small"],[750,"group-hiphog-neon-morgan"],[749,"group-hiphog-neon-hiphog-daxter"],[748,"group-hiphog-neon-hiphog"],[747,"group-hiphog-floor-light"],[746,"group-hiphog-booth-table-light"],[745,"group-hiphog-bar-light"],[744,"group-hiphog-booth-wall-light"],[743,"group-hiphog-booth-ceiling-light"],[742,"group-hiphog-ceiling-light"],[741,"group-hiphog-red-light"],[1065,"group-ctyasha-smoke-trail"],[1064,"group-ctyasha-explosion"],[1063,"group-ctyasha-large-explosion"],[1062,"group-ctyasha-dust-explosion"],[301,"group-ruins-tower-trailer-large"],[300,"group-ruins-tower-splash-small"],[299,"group-ruins-tower-splash-large"],[298,"group-ruins-tower-splash-medium"],[297,"group-ruins-tower-trailer-medium"],[296,"group-ruins-tower-explosion-large"],[295,"group-ruins-tower-explosion-medium"],[294,"group-ruins-tower-explosion-small"],[293,"group-ruins-tower-trailer-small"],[292,"group-ruins-tower-splash"],[291,"group-ruins-tower-trailer"],[290,"group-pillar-collapse-explosion"],[289,"group-ruins-birds"],[288,"group-ruins-brick-dust-slide"],[287,"group-ruins-brick-dust-wall"],[286,"group-ruins-brick-dust-floor"],[285,"group-ruins-dirt-collapse"],[284,"group-ruins-streetlight-glows"],[283,"group-ruins-talkbox-speak"],[282,"group-tower-test"],[281,"group-ruins-slide-sparks"],[193,"group-hideout-knife-glint"],[192,"group-hideout-bling-bling"],[191,"group-slums-talkbox-speak"],[190,"group-ctywide-errol-bike-thruster"],[189,"group-ctywide-jak-bike-thruster"],[188,"group-beer-drip"],[187,"group-daxter-spit"],[186,"group-cty-guard-turret-hit"],[185,"group-ctywide-fruit"],[184,"group-ctywide-chimney-smoke"],[183,"group-ctywide-chimney"],[182,"group-slums-seal-of-mar-glow"],[181,"group-ctywide-cable-lights"],[180,"group-ctywide-misc-citylights-blue-3"],[179,"group-ctywide-misc-citylights-blue-2"],[178,"group-ctywide-misc-citylights-blue-1"],[177,"group-ctywide-misc-citylights-red-3"],[176,"group-ctywide-misc-citylights-red-2"],[175,"group-ctywide-misc-citylights-red-1"],[174,"group-ctywide-palace-high-fire"],[173,"group-ctywide-burning-bush-holo-on"],[172,"group-ctywide-burning-bush-holo-red"],[171,"group-ctywide-burning-bush-holo-off"],[170,"group-ctywide-baron-propoganda-holo"],[169,"group-ctywide-stadium-light"],[168,"group-ctywide-race-poster-large"],[167,"group-ctywide-race-poster-medium"],[166,"group-ctywide-race-poster-small"],[165,"group-ctywide-race-poster-extra-small"],[162,"group-vehicle-engine-start"],[161,"group-vehicle-explosion"],[1166,"group-caspad-electrical-thing"],[1165,"group-caspad-red-flashing-light"],[1164,"group-caspad-hanging-light"],[969,"group-farthy-halo"],[968,"group-ctyport-hiphog-marquee-daxter"],[967,"group-ctyport-hiphog-marquee"],[966,"group-ctyport-hiphog-neon-daxter"],[965,"group-ctyport-hiphog-neon"],[964,"group-ctyport-sign-no-unloading-8x4"],[963,"group-ctyport-sign-krew-international-8x4"],[962,"group-ctyport-sign-arrows-8x4"],[961,"group-ctyport-sign-holding-right-8x4"],[960,"group-ctyport-sign-loading-left-8x4"],[959,"group-ctyport-sign-hiphog-entrance-4x8"],[958,"group-ctyport-sign-vert-right-arrow-4x8"],[957,"group-ctyport-sign-blank-4x4"],[956,"group-ctyport-sign-hiphog-4x4"],[955,"group-ctyport-sign-crimson-4x8"],[954,"group-ctyport-green-lights-2"],[953,"group-ctyport-green-lights"],[952,"group-ctyport-long-blue-lights"],[951,"group-ctyport-blue-lights"],[950,"group-ctyport-red-lights"],[949,"group-ctyport-blue-big-lights-6"],[948,"group-ctyport-blue-big-lights-5"],[947,"group-ctyport-blue-big-lights-4"],[946,"group-ctyport-blue-big-lights-3"],[945,"group-ctyport-blue-big-lights-2"],[944,"group-ctyport-blue-big-lights-1"],[943,"group-ctyport-red-big-lights-6"],[942,"group-ctyport-red-big-lights-5"],[941,"group-ctyport-red-big-lights-4"],[940,"group-ctyport-red-big-lights-3"],[939,"group-ctyport-red-big-lights-2"],[938,"group-ctyport-red-big-lights-1"],[937,"group-ctyport-blue-floor-vent-small"],[936,"group-ctyport-blue-floor-vent"],[935,"group-ctyport-drip"],[934,"group-ctyport-chimney-smoke"],[933,"group-ctyport-chimney"],[932,"group-ctyport-waterspout"],[931,"group-ctyport-low-vent"],[930,"group-ctyport-roundvent-small"],[929,"group-ctyport-roundvent"],[518,"under-sig-shot-overhead-starflash"],[517,"group-under-centipede-three-trailer"],[516,"group-under-centipede-three-explosion"],[515,"group-under-centipede-two-trailer"],[514,"group-under-centipede-two-explosion"],[513,"group-under-centipede-one-trailer"],[512,"group-under-centipede-one-explosion"],[511,"group-under-explosion-trailer"],[510,"group-under-explosion"],[509,"group-under-break-ceiling"],[499,"group-under-locking-drain"],[498,"group-under-locking-fill"],[501,"group-under-mine-explode"],[508,"group-under-hanging-fire"],[507,"group-under-thin-fire"],[506,"group-under-long-blue-light"],[505,"group-under-heavy-drip"],[504,"group-under-bubble-streams-windows"],[503,"group-under-bubble-streams-no-bottom"],[502,"group-under-bubble-streams"],[500,"group-bubbler-streams"],[497,"group-shoot-block-explode"],[1046,"group-ctypal-vertical-vent"],[1045,"group-ctypal-ground-vent-base"],[1044,"group-ctypal-wall-light"],[1043,"group-ctypal-streetlight"],[1042,"group-ctypal-fountain-short"],[1041,"group-ctypal-fountain"],[1040,"group-ctypal-waterfall"],[1039,"group-ctypal-flamepot-waterspout-palace"],[1038,"group-ctypal-flamepot-waterspout"],[1037,"group-ctypal-flamepot"],[833,"group-praxis-neon-back"],[832,"group-praxis-neon"],[831,"group-ctygena-ticker-vertical"],[830,"group-ctygena-ticker-horizontal"],[829,"group-ctygena-ground-vent-base"],[828,"group-ctygena-sign-4x4"],[827,"group-ctygena-sign-4x8"],[826,"group-ctygena-sign-8x4"],[825,"group-ctygena-vertical-vent"],[824,"group-ctygena-sign-ratchet"],[823,"group-ctygena-under-bridge-light"],[822,"group-ctygena-wall-light"],[821,"group-ctygena-streetlight"],[280,"vin-shot"],[279,"group-plasmitebomb-armed"],[278,"group-pow-mov-plat-propulsion"],[277,"group-dog-piss"],[276,"group-dog-piss-puddle"],[275,"group-vinroom-red-wall-lights-small"],[274,"group-vinroom-red-wall-lights"],[273,"group-vinroom-console-top-panel"],[272,"group-vinroom-console-orb"],[271,"group-vinroom-console-blue-light-8"],[270,"group-vinroom-console-blue-light-7"],[269,"group-vinroom-console-blue-light-6"],[268,"group-vinroom-console-blue-light-5"],[267,"group-vinroom-console-blue-light-4"],[229,"group-strip-small-screen-08"],[228,"group-strip-small-screen-07"],[227,"group-strip-small-screen-06"],[226,"group-strip-small-screen-05"],[225,"group-strip-small-screen-04"],[224,"group-strip-small-screen-03"],[223,"group-strip-small-screen-02"],[222,"group-strip-small-screen-01"],[221,"group-strip-ecowells-victory-debris"],[220,"group-strip-ecowells-victory-flash"],[219,"group-strip-ecowell-explosion"],[218,"group-lightning-silo-tip"],[217,"group-grenade-point-dead"],[216,"group-grenade-point-hit"],[215,"group-grenade-point"],[214,"group-strip-pitspikes-dust"],[213,"group-strip-curtain-saw-dust"],[212,"group-fencespikes-sparks-11"],[211,"group-fencespikes-sparks-10"],[210,"group-fencespikes-sparks-9"],[209,"group-fencespikes-sparks-3"],[208,"group-strip-smokestack"],[207,"group-strip-tall-wall-glows"],[206,"group-strip-yellow-glows"],[205,"group-strip-red-glows"],[204,"group-strip-red-distant-glows"],[203,"group-strip-streetlight-glows"],[1061,"group-juicer-shot-hit"],[149,"group-ashelin-shot-hit"],[1258,"group-rift-rider-button-blue-1"],[148,"group-sig-gun-glow"],[1257,"group-rift-rider-button-yellow-2"],[147,"group-sig-plasma"],[1256,"group-rift-rider-button-yellow-1"],[146,"group-sig-shot-hit"],[1255,"group-rift-rider-donut-light-glow"],[1271,"group-intro-prison-restraints-snap"],[1270,"group-intro-machine-white-light-glow"],[1269,"group-prison-plat-jet"],[160,"group-crimson-guard-hover-explode"],[1268,"group-intro-vortex-hit-explosion"],[159,"group-crimson-guard-hover-jet-explosion"],[1267,"group-intro-dust-big"],[158,"group-crimson-guard-hover-explosion"],[1266,"group-intro-dust"],[157,"group-wasp-explosion"],[1265,"group-intro-vortex"],[156,"group-wasp-engine"],[1264,"group-screen-b-glow"],[155,"group-wasp-gun-casing"],[1263,"group-screen-a-glow"],[154,"group-wasp-gun-smoke"],[1262,"group-heart-of-mar-glow"],[153,"group-wasp-shot-die"],[1261,"group-time-map-glow-fx"],[152,"group-wasp-shot-hit"],[1260,"group-time-map-glow"],[151,"group-sewer-explode0"],[1259,"group-rift-rider-button-blue-2"],[150,"group-jinx-shot-hit"],[1254,"group-rift-rider-donut-nipple-glow"],[145,"group-flitter-birth"],[1253,"group-rift-rider-donut-antenna-glow"],[144,"group-flitter-dust-puff"],[1252,"group-intro-rift-gate-on"],[143,"group-metalhead-grenade-shot"],[1251,"group-intro-rift-gate-off"],[142,"group-metalhead-shot-die"],[1250,"group-intro-meteor-explosion-stays"],[141,"group-metalhead-shot-hit"],[1249,"group-intro-meteor-explosion-pang"],[140,"part-crimson-lightning-glow"],[1248,"group-intro-meteor-explosion-circle"],[139,"group-guard-shot-die"],[1247,"group-intro-meteor-explosion-ring"],[138,"group-guard-grenade"],[1246,"group-intro-meteor-explosion-meteor"],[137,"group-guard-shot-hit"],[1245,"group-intro-meteor-landing-bubble"],[136,"group-guard-shot-hit-object"],[1244,"group-intro-meteor-landing-meteor"],[135,"group-warp-hellcat-thruster"],[386,"group-rhino-wall-explosion"],[385,"group-mountain-stadium-lights"],[384,"group-mountain-cable-lights"],[383,"group-mountain-energy-rays"],[382,"group-mountain-bottom-oval-light"],[381,"group-mountain-tiny-top-oval-light"],[380,"group-mountain-big-green-oval-light"],[379,"group-mountain-huge-green-oval-light"],[378,"group-mountain-big-oval-light"],[377,"group-mountain-med-light"],[376,"group-mountain-small-light"],[375,"group-mountain-overdoor-light"],[374,"group-mountain-waterfall-13"],[373,"group-mountain-waterfall-12"],[372,"group-mountain-waterfall-11"],[371,"group-mountain-waterfall-10"],[370,"group-mountain-waterfall-9"],[369,"group-mountain-waterfall-8"],[368,"group-mountain-waterfall-7"],[367,"group-mountain-waterfall-6"],[366,"group-mountain-waterfall-5"],[365,"group-mountain-waterfall-4"],[364,"group-mountain-waterfall-3"],[363,"group-mountain-waterfall-2"],[362,"group-mountain-waterfall-1"],[361,"group-mountain-gear-dust-plume"],[360,"group-mountain-mtn-shard-glow"],[359,"group-mtn-step-plat-rocks-explosion"],[358,"group-canyon-seal-of-mar-glow"],[357,"group-mtn-plat-buried-rocks-trailer"],[356,"group-mtn-lens-light"],[355,"group-mountain-lens-res-daxter-tail-fire"],[354,"group-mountain-lens-res-daxter-tail-smoke"],[353,"group-mtn-lens-light-shaft"],[352,"group-aval-rock-hit"],[893,"group-ctyslumc-sign-future-4x8"],[351,"group-rhino-slide-poof-grs"],[892,"group-ctyslumc-sign-baron-8x4"],[350,"group-rhino-slide-poof-pmt"],[891,"group-ctyslumc-sign-hiphog-4x4"],[890,"group-ctyslumc-chimney-smoke"],[889,"group-ctyslumc-chimney"],[888,"group-ctyslumc-streetlight-glows"],[820,"group-oracle-mouth-beam"],[819,"group-oracle-glows"],[818,"group-oracle-overhead-light"],[817,"group-oracle-candle-out"],[816,"group-oracle-candle-smoke"],[815,"group-oracle-candle"],[476,"group-ginsu-blade"],[475,"group-ginsu-sparks"],[474,"group-centurion-shield"],[473,"group-drill-top-break-trailer-medium"],[472,"group-drill-top-break-trailer-large"],[471,"group-drill-top-break-explosion"],[470,"group-drill-top-break-smoke"],[469,"group-drill-barons-ship-explosion"],[468,"group-turret-smoke-trail-side"],[467,"group-turret-smoke-trail-down"],[466,"group-turret-smoke-trail"],[465,"group-barons-ship-light5"],[464,"group-barons-ship-light4"],[463,"group-barons-ship-light3"],[462,"group-barons-ship-light2"],[461,"group-barons-ship-light1"],[460,"group-turret-warning-side"],[459,"group-turret-warning-down"],[458,"group-turret-warning"],[457,"group-drill-crane-trailer-large"],[456,"group-drill-crane-trailer-medium"],[455,"group-drill-crane-trailer-small"],[454,"group-drill-crane-dust-explosion"],[453,"group-drill-crane-explosion"],[452,"group-drill-switch-green"],[451,"group-drill-switch-red"],[450,"group-drill-console-02"],[449,"group-drill-console-01"],[448,"group-drill-drilling"],[447,"group-drill-big-steam"],[446,"group-drill-medium-chimney-02"],[445,"group-drill-medium-chimney-01"],[444,"group-drill-bridge-explode"],[443,"group-drill-engulfing-death"],[442,"group-drill-door-smoke"],[441,"group-drill-control-panel-ab-debris-4"],[440,"group-drill-control-panel-ab-debris-3"],[439,"group-drill-control-panel-ab-debris-2"],[438,"group-drill-control-panel-ab-debris-1"],[437,"group-drill-control-panel-debris-2"],[436,"group-drill-control-panel-debris-1"],[435,"group-drill-panel-light-blue"],[434,"group-drill-panel-light-big-amber"],[433,"group-drill-panel-light-amber"],[432,"group-drill-panel-spark"],[431,"group-drill-panel-steam"],[430,"group-drill-panel-explosion-2"],[429,"group-drill-panel-explosion"],[428,"group-drill-control-panel-a"],[427,"group-drill-control-panel"],[426,"group-drill-under-console-1"],[425,"group-drill-yellow-wall-lights"],[424,"group-drill-round-blue-wall-lights-4"],[423,"group-drill-round-blue-wall-lights-2"],[422,"group-drill-blue-floor-light"],[421,"group-drill-wall-explode"],[420,"group-drill-metalhead-egg-explode"],[419,"group-drill-lightning-pole-180"],[418,"group-drill-lightning-pole"],[417,"group-drill-misc-steam"],[416,"group-drill-big-orange-glow"],[415,"group-drill-circle-vent"],[414,"group-drill-half-circle-vent-small"],[413,"group-drill-half-circle-vent"],[412,"group-drill-steamjet"],[411,"group-drill-yellow-light-long"],[410,"group-drill-blue-light-corner"],[409,"group-drill-blue-light-double"],[408,"group-drill-blue-light-big-round"],[407,"group-drill-yellow-light-big-round"],[406,"group-drill-blue-light-long"],[405,"group-drill-blue-light-single-med"],[404,"group-drill-blue-light-single-small"],[403,"group-drill-blue-light-single"],[402,"group-drill-orange-light"],[401,"group-drill-fire-floor-a-dust"],[400,"group-drill-fire-floor-a-heat"],[399,"group-drill-fire-floor-dust"],[398,"group-drill-fire-floor-heat"],[201,"group-turret-explode"],[200,"group-turret-shot-hit"],[649,"group-forresca-panel-4"],[108,"group-eco-yellow"],[1217,"group-cascity-cable-lights"],[338,"group-atoll-hellcat-thruster"],[879,"group-ctyslumb-sign-gt2-8x4"],[648,"group-forresca-panel-3"],[107,"group-part-vent-yellow-inactive"],[1216,"group-casboss-big-smokestack"],[337,"group-beach-atoll-daxterspout"],[878,"group-ctyslumb-sign-baron-8x4"],[647,"group-forresca-panel-2"],[106,"group-part-vent-yellow-active"],[1215,"group-casboss-halfcircle-vent"],[336,"group-beach-atoll-daxterpipe-suck"],[877,"group-ctyslumb-chimney-smoke"],[646,"group-forresca-panel-1"],[105,"group-part-vent-red-inactive"],[1214,"group-casboss-light-big"],[335,"group-sniper-e-debris"],[876,"group-ctyslumb-chimney"],[645,"group-forresca-single-red-lights-6"],[104,"group-part-vent-red-active"],[1213,"group-casboss-light"],[334,"group-sniper-d-debris"],[875,"group-ctyslumb-streetlight-glows"],[644,"group-forresca-single-red-lights-5"],[103,"group-eco-red-collect"],[1212,"group-castle-hellcat-thruster"],[333,"group-sniper-c-hit-ground"],[874,"group-ctyslumb-barrel-fire"],[643,"group-forresca-single-red-lights-4"],[102,"group-eco-red"],[1211,"group-castle-krew-light"],[332,"group-sniper-c-debris"],[873,"group-neon-baron"],[642,"group-forresca-single-red-lights-3"],[101,"group-part-vent-blue-inactive"],[1210,"group-castle-explosion-2d-3"],[331,"group-sniper-b-debris"],[872,"group-ctysluma-sign-blank-4x4"],[641,"group-forresca-single-red-lights-2"],[100,"group-part-vent-blue-active"],[1209,"group-castle-explosion-2d-2"],[330,"group-sniper-a-debris"],[871,"group-ctysluma-sign-hiphog-4x4"],[640,"group-forresca-single-red-lights-1"],[99,"group-eco-blue-collect"],[1208,"group-castle-explosion-2d-1"],[329,"group-sniper-hit"],[870,"group-ctysluma-sign-doctors-4x4"],[639,"group-forresca-blue-lights"],[98,"group-eco-blue"],[1207,"group-castle-explosion-2"],[328,"group-ashelin-dust-puff"],[869,"group-ctysluma-sign-crimson-4x8"],[638,"group-forresca-yellow-glows"],[97,"group-red-eco-spinkick"],[1206,"group-castle-post-explosion-glows"],[327,"group-hellcat-steady"],[868,"group-ctysluma-sign-metalhead-8x4"],[637,"group-forresca-overhead-lights"],[96,"group-red-eco-strike-ground"],[1205,"group-castle-post-explosion"],[326,"group-atoll-bling-bling-big"],[867,"group-ctysluma-sign-m5-8x4"],[636,"group-forexitb-random-drip-main"],[95,"group-skate-point-explode"],[1204,"group-krew-boss-gun-charge"],[325,"group-atoll-bling-bling"],[866,"group-ctysluma-chimney-smoke"],[635,"group-forexitb-ceiling-pipe-drip1"],[94,"group-skate-point"],[1203,"group-castle-dial-large"],[324,"group-atoll-tank-splash"],[865,"group-ctysluma-chimney"],[634,"group-forexitb-ceiling-pipe-drip2"],[93,"group-green-collect"],[1202,"group-castle-dial-small"],[323,"group-atoll-tank-explosion"],[864,"group-ctysluma-spray-check-userdata-8"],[633,"group-forexitb-ceiling-light-oneoff"],[92,"group-eco-dark-pill-collect"],[1201,"group-castle-pod-dial-large"],[322,"group-atoll-tank-aftermath"],[863,"group-ctysluma-spray"],[632,"group-forexitb-pipe-drip"],[91,"group-ammo-dark-collect"],[1200,"group-castle-pod-dial-small"],[321,"group-atoll-tank-intact"],[862,"group-ctysluma-steamvent"],[631,"group-forexitb-l-panel"],[90,"group-ammo-blue-collect"],[1199,"group-castle-pod-green-slime-tube"],[320,"group-atoll-tank-a-slide"],[861,"group-ctysluma-steamescape"],[630,"group-forexitb-l-upsideown-panel"],[89,"group-ammo-red-collect"],[1198,"group-castle-green-slime-tube"],[319,"group-atoll-tank-a-ground"],[860,"group-ctysluma-streetlight-glows"],[629,"group-forexitb-single-blue-lights-1"],[88,"group-ammo-yellow-collect"],[1197,"group-castle-green-slime"],[318,"group-atoll-tank-a-trail"],[859,"group-ctysluma-barrel-fire"],[628,"group-forexitb-blue-lights"],[87,"group-gem-collect"],[1196,"group-castle-pod-pipe"],[627,"group-forexitb-red-glows"],[86,"group-gem-glow"],[1195,"group-castle-pipe-green-steam"],[626,"group-forexitb-yellow-glows"],[85,"group-generic-collect"],[1194,"group-castle-steamvent"],[625,"group-forexitb-overhead-lights"],[84,"group-eco-dark-pill-move-collect"],[1193,"group-castle-green-dome-light"],[624,"group-forexitb-panel-3"],[83,"group-eco-green"],[1192,"group-castle-console-flashing-red-light-2"],[623,"group-forexitb-panel-1"],[82,"group-eco-dark-pill"],[1191,"group-castle-console-flashing-red-light-1"],[1163,"group-dig-lantern"],[54,"group-slide-poof-wod"],[81,"group-eco-green-pill-collect"],[1190,"group-castle-console-green-screen"],[1162,"group-dig-red-light"],[53,"group-slide-poof-ice"],[80,"group-eco-green-pill"],[1189,"group-castle-pipe-green-drip"],[1161,"group-dig-big-light"],[52,"group-slide-poof-snw"],[79,"group-eco-green-collect"],[1188,"group-castle-red-gauge"],[1147,"group-dig-jump-pad-launcher"],[38,"group-run-poof-grs"],[65,"group-laser-glow"],[1174,"group-consite-large-pipe-steam"],[24,"group-just-poof-unk"],[1133,"group-throne-lights"],[1052,"group-kiosk-neon-sign"],[23,"group-run-poof-unk"],[1132,"group-pal-grind-ring-explode"],[1051,"group-kiosk-chimney"],[20,"group-land-poof-unk"],[1129,"group-palent-yellow-light"],[1048,"group-kiosk-fire"],[47,"group-slide-poof-san"],[1156,"group-dig-digger-trailer-medium"],[304,"group-atoll-pipe-drip"],[46,"group-just-footprint-drt"],[1155,"group-dig-digger-trailer-small"],[303,"group-atoll-streetlight"],[45,"group-just-poof-drt"],[1154,"group-dig-digger-explode"],[302,"group-atoll-seal-of-mar"],[44,"group-run-poof-drt"],[1153,"group-dig-hanging-light"],[5,"group-moon"],[1114,"group-palace-boss-end-explosion"],[235,"group-grenade-armed"],[776,"group-hideout-mouth"],[4,"group-green-sun"],[1113,"group-palace-boss-end-trailer-large"],[234,"group-strip-drop-splash"],[775,"group-hideout-pipe"],[3,"group-sun"],[1112,"group-palace-boss-end-trailer-medium"],[233,"group-strip-stadium-lights"],[774,"group-hide-ceilingsmoke"],[2,"group-stars"],[1111,"group-pal-prong-energy"],[232,"group-strip-cable-lights"],[773,"group-hide-fireplace-sparks"],[1,"group-rain-screend-drop-real"],[1110,"group-palroof-lightning-pole-off"],[231,"group-strip-vinroom-red-glows"],[772,"group-hide-moth"],[50,"group-slide-poof-stn"],[1159,"group-dig-lava-glow-wall"],[307,"group-atoll-smallvent"],[9,"group-target-hit"],[1118,"group-squid-thruster"],[49,"group-slide-poof-grs"],[1158,"group-dig-lava-glow-floor"],[306,"group-atoll-bigvent"],[126,"group-dark-eco-box-explosion"],[1235,"group-nestb-force-field-upclose-2"],[72,"group-gun-dark-shot-trail"],[1181,"group-kor-break-trailer"],[8,"group-swamp-launcher"],[1117,"group-squid-break-smoke"],[48,"group-slide-poof-drt"],[1157,"group-dig-digger-trailer-large"],[305,"group-atoll-birds-01"],[125,"group-crate-steel-explode"],[1234,"group-nestb-force-field-upclose"],[71,"group-jak-peacemaker-shot-hit"],[1180,"group-consite-kor-energy"],[7,"group-jungle-launcher"],[1116,"group-squid-damaged-sparks"],[311,"group-atoll-spray-check-userdata-1-1"],[308,"group-atoll-spray"],[51,"group-slide-poof-pmt"],[1160,"group-dig-big-lava-glow"],[13,"group-land-poof-san"],[1122,"group-squid-whirlwind-fire"],[10,"group-spin-hit"],[1119,"group-squid-marker"],[310,"group-atoll-spray-small"],[12,"group-smack-surface"],[1121,"group-squid-grenade-explode"],[124,"group-crate-explode"],[1233,"group-nestb-force-field"],[70,"group-gun-dark-shot-fired"],[1179,"group-consite-baron-sword"],[1152,"group-dig-seal-pull-out-dust"],[43,"group-just-footprint-san"],[6,"group-beach-launcher"],[1115,"group-movie-squid-thruster"],[236,"group-grenade-hit"],[777,"group-hideout-mud-drip"],[317,"group-atoll-stadium-lights"],[22,"group-land-poof-pmt"],[1131,"group-pal-grind-ring-energy"],[1050,"group-kiosk-boiling-fish"],[316,"group-atoll-cable-lights"],[59,"group-burn-death"],[1168,"group-consite-tower-red-light"],[21,"group-land-poof-stn"],[1130,"group-palent-yellow-up-light"],[1049,"group-kiosk-hotpot"],[315,"group-atoll-spray-check-userdata-13"],[58,"group-explode-death"],[1167,"group-consite-spotlight"],[314,"group-atoll-spray-check-userdata-8"],[57,"group-lava-death"],[19,"group-land-poof-cwd"],[1128,"group-sew-gunturret-casing"],[1047,"group-kiosk-steamescape"],[313,"group-atoll-spray-check-userdata-7"],[56,"group-dark-eco-death"],[18,"group-land-poof-wod"],[1127,"group-sew-gunturret-smoke"],[312,"group-atoll-spray-check-userdata-1-4"],[55,"group-slide-poof-cwd"],[17,"group-land-poof-grs"],[1126,"group-sew-gunturret-hit"],[16,"group-land-poof-ice"],[1125,"group-squid-shot-hit"],[15,"group-land-poof-snw"],[1124,"group-squid-damage"],[309,"group-atoll-spray-check-water"],[14,"group-land-poof-drt"],[1123,"group-squid-whirlwind-explode"],[11,"group-punch-hit"],[1120,"group-squid-grenade-trail"],[25,"group-run-poof-stn"],[1134,"group-throne-side-window-small"],[26,"group-just-poof-stn"],[1135,"group-throne-center-window"],[27,"group-run-poof-snw"],[1136,"group-throne-top-flat-window"],[28,"group-just-poof-snw"],[1137,"group-throne-mid-flat-window"],[29,"group-just-footprint-snw"],[1138,"group-throne-diag-window"],[30,"group-run-poof-ice"],[1139,"group-palroof-snot"],[31,"group-just-poof-ice"],[1140,"group-palroof-rain0"],[32,"group-run-poof-cwd"],[1141,"group-palroof-rain1"],[33,"group-just-poof-cwd"],[1142,"group-dig-clasp-break"],[34,"group-run-poof-wod"],[1143,"group-dig-digger-smoke"],[35,"group-just-poof-wod"],[1144,"group-dig-digger-digging"],[36,"group-run-poof-pmt"],[1145,"group-dig-log"],[37,"group-just-poof-pmt"],[1146,"group-dig-cylinder-hit"],[39,"group-just-poof-grs"],[1148,"group-dig-spikey-sphere-bounce"],[40,"group-just-footprint-grs"],[1149,"group-dig-spikey-sphere-break"],[41,"group-run-poof-san"],[1150,"group-grenadier-drip"],[42,"group-just-poof-san"],[1151,"group-dig-seal-of-mar-glow"],[650,"group-forresca-blue-large-lights"],[109,"group-eco-yellow-collect"],[1218,"group-cascity-stadium-lights"],[339,"group-atoll-palmpilot-glow"],[880,"group-ctyslumb-sign-crimson-4x8"],[651,"group-forresca-red-lights"],[110,"group-part-vent-green-active"],[1219,"group-cascity-mountain-glows"],[881,"group-ctyslumb-sign-future-4x8"],[652,"group-forresca-yellow-lights"],[111,"group-fuel-cell-starburst"],[1220,"group-cascity-strip-glows"],[882,"group-ctyslumb-sign-happy-pirate-4x4"],[653,"group-forresca-lightning-pole"],[112,"group-money-starburst"],[1221,"group-mantis-dust-puff"],[883,"group-ctyslumb-sign-hiphog-4x4"],[654,"group-forresca-lightning-pole-off"],[113,"group-buzzer-effect"],[1222,"group-mantis-birth-nest"],[884,"group-ctyslumb-sign-blank-4x4"],[114,"group-blue-collect"],[1223,"group-canyon-lightning-thingy-charge"],[885,"group-ctyslumb-steamescape"],[60,"group-lightning-glow"],[1169,"group-consite-arch-light"],[115,"group-yellow-collect"],[1224,"group-nest-gun-core"],[886,"group-ctyslumb-spray"],[61,"group-lightning-green-glow"],[1170,"group-consite-crane-fx"],[116,"group-red-collect"],[1225,"group-nest-break-rocks-chargeup"],[887,"group-ctyslumb-spray-check-userdata-8"],[62,"group-lightning-red-glow"],[1171,"group-consite-orange-skybox"],[119,"group-board-land-straight"],[1228,"group-nest-break-rocks-billow"],[120,"group-board-quick-jump"],[1229,"group-nest-precursor-stone-glow"],[66,"group-gun-red-shot-fired"],[1175,"group-consite-scaffold-break-explosion"],[118,"group-target-board"],[1227,"group-nest-break-rocks-trailer"],[64,"group-darkjak-transform"],[1173,"group-consite-small-pipe-steam"],[117,"group-board-spin-attack"],[1226,"group-nest-break-rocks-explosion"],[63,"group-darkjak-bomb"],[1172,"group-consite-orange-skybox-corner"],[121,"group-part-water-splash"],[1230,"group-nest-palmpilot-glow"],[67,"group-gun-red-shot-reload"],[1176,"group-consite-scaffold-break-trailer"],[122,"group-part-water-splash-small"],[1231,"group-nest-metalhead-plant-glow"],[68,"group-gun-blue-shot-hit"],[1177,"group-consite-scaffold-dust-plume"],[123,"group-blue-hit-ground-effect"],[1232,"group-metalkor-shot-anticipate"],[69,"group-gun-blue-shot-die"],[1178,"group-consite-land-sand"],[127,"group-part-tester"],[1236,"group-nestb-rift-ring"],[73,"group-gun-yellow-shot-hit"],[1182,"group-consite-precursor-stone-glow"],[128,"group-dark-eco-nasty"],[1237,"group-metalkor-explode-trailer"],[74,"group-gun-yellow-shot-hit-object"],[1183,"group-consite-metalkor-shot-anticipate"],[129,"group-dark-eco-pool-nasty"],[1238,"group-metalkor-explode"],[75,"group-gun-yellow-shot-die"],[1184,"group-consiteb-hanging-light"],[130,"group-warpgate"],[1239,"group-nest-break-precipice-explosion"],[76,"group-gun-dark-shot-hit"],[1185,"group-consiteb-panel-red-light"],[131,"group-airtrain-dust-plume"],[1240,"group-nest-break-precipice-trailer"],[77,"group-talkbox-speak"],[1186,"group-consiteb-panel-blue-light"],[132,"group-airtrain-dust-hover"],[1241,"group-nest-break-precipice-billow"],[78,"group-rod-of-god"],[1187,"group-castle-hanging-lights"],[133,"group-airtrain-thruster"],[1242,"group-nestb-precursor-stone-glow"],[134,"group-airtrain-thruster-off"],[1243,"group-nest-metalkor-shot-anticipate"],[194,"group-race-signal-red-light-3"],[195,"group-race-signal-red-light-2"],[196,"group-race-signal-red-light-1"],[197,"group-race-signal-green-light"],[198,"group-turbo-pickup"],[199,"group-turbo-pickup-explode"],[928,"group-race-bike-explode"],[477,"group-forest-cattails"],[478,"group-forest-waterfall-1"],[479,"group-forest-waterfall-2"],[480,"group-forest-waterfall-3"],[481,"group-forest-waterfall-4"],[482,"group-forest-waterfall-5"],[483,"group-forest-waterfall-6"],[1025,"group-farm-marrow-explode"],[484,"group-forest-waterfall-8"],[1026,"group-farm-beetree-explode"],[485,"group-forest-waterfall-7"],[1027,"group-farm-cabbage-explode"],[486,"group-forest-butterflies-2"],[1028,"group-farm-small-cabbage-explode"],[487,"group-forest-butterflies-3"],[1029,"group-farm-chilirots-explode"],[488,"group-forest-butterflies-1"],[1030,"group-farm-sprinkler-barrels-water"],[489,"group-forest-butterfly-sitting-1"],[1031,"group-ctyfarma-light"],[490,"group-forest-butterfly-sitting-2"],[1032,"group-ctyfarma-drip-1"],[491,"group-forest-butterfly-sitting-3"],[1033,"group-ctyfarma-wall-bubbles"],[492,"group-forest-butterfly-sitting-4"],[1034,"group-ctyfarmb-light"],[493,"group-forest-fireflies"],[1035,"group-ctyfarmb-drip-1"],[494,"group-youngsamos-float"],[1036,"group-ctyfarmb-wall-bubbles"],[495,"group-forest-seed-glow"],[496,"group-forest-hover-jet"],[230,"group-strip-small-screen-09"],[771,"group-hide-barrel-fire"],[237,"group-grenade-fired"],[238,"group-chain-crate-cable-sparks"],[239,"group-chain-crate-guide-sparks"],[340,"group-sewer-light"],[341,"group-sewer-light-switched"],[342,"group-sewer-steamvent"],[343,"group-sewer-drops"],[344,"group-sewer-checkground-drops"],[345,"group-sew-mine-light"],[346,"group-sewer-explode1"],[347,"group-sewer-explode2"],[348,"group-sewer-gun-laser-beam"],[349,"group-sewer-key-pull-out"],[988,"group-ctyindb-red-floor-vent"],[989,"group-ctyindb-red-lights"],[990,"group-ctyindb-blue-lights"],[991,"group-ctyindb-wide-glows-yellow"],[992,"group-ctyindb-sign-fashion-8x4"],[993,"group-ctyindb-sign-praxis-banner-4x8"],[994,"group-ctyindb-sign-onin-knows-4x4"],[995,"group-ctyindb-chimney"],[996,"group-ctyindb-chimney-smoke"],[997,"group-ctyindb-chimney-small"],[998,"group-ctyindb-red-big-lights-1"],[999,"group-ctyindb-red-big-lights-2"],[1000,"group-ctyindb-red-big-lights-3"],[1001,"group-ctyindb-red-big-lights-4"],[1002,"group-ctyindb-red-big-lights-5"],[1003,"group-ctyindb-red-big-lights-6"],[1004,"group-ctyindb-smokestack"],[1005,"group-ctyindb-squarevent"],[561,"group-robotank-steamescape"],[562,"group-robotank-barrel-sparks"],[563,"group-fordumpc-panel-1"],[564,"group-fordumpc-panel-4"],[565,"group-fordumpc-overhead-lights"],[566,"group-fordumpc-red-glows"],[567,"group-fordumpc-blue-lights"],[568,"group-fordumpc-red-lights"],[569,"group-fordumpc-yellow-lights"],[570,"group-fordumpc-yellow-glows"],[571,"group-fordumpc-single-red-lights"],[572,"group-bomb-explosion"],[573,"group-fort-dump-bomb-a-steamescape"],[574,"group-fordumpc-exit-panel"],[575,"group-fordumpc-single-blue-lights"],[576,"group-fordumpc-l-upsideown-panel"],[577,"group-fordumpc-l-panel"],[578,"group-fortress-small-explosion"],[579,"group-fortress-big-explosion"],[580,"group-fortress-side-explosion"],[581,"group-missile-target-explosion"],[582,"group-fort-missile-target-steamescape"],[583,"group-fort-missile-engulfing-death"],[584,"group-prison-light-machine"],[585,"group-prison-light"],[586,"group-prison-light-3d-backside"],[587,"group-prison-light-ceiling"],[588,"group-prison-tall-vent-small"],[589,"group-prison-tall-vent"],[590,"group-prison-floor-vent"],[591,"group-prison-console-small-01-a"],[592,"group-prison-console-small-01-b"],[593,"group-prison-console-small-02-a"],[594,"group-prison-console-small-02-b"],[595,"group-prison-console-small-02-c"],[596,"group-prison-console-small-03-a"],[597,"group-prison-console-small-03-b"],[598,"group-prison-console-small-03-c"],[599,"group-prison-console-small-door"],[600,"group-prison-fade-to-black-lights-01"],[601,"group-prison-fade-to-black-lights-02"],[602,"group-prison-fade-to-black-lights-03"],[603,"group-prison-fade-to-black-lights-04"],[604,"group-prison-fade-to-black-lights-05"],[605,"group-prison-fade-to-black-lights-06"],[606,"group-prison-fade-to-black-lights-07"],[607,"group-prison-fade-to-black-lights-08"],[608,"group-prison-fade-to-black-lights-09"],[609,"group-prison-fade-to-black-lights-10"],[610,"group-prison-console-front-door"],[1060,"group-bombbot-explode0"],[1290,"group-demo-sign-naughtydog"],[1291,"group-demo-sign-big-praxis"],[1292,"group-demo-sign-wanted"],[1293,"group-demo-sign-scea"],[1294,"group-demo-plug"],[1058,"group-turbo-ring"],[1059,"group-turbo-ring-explode"],[1272,"group-ctyport-fireworks"],[1273,"group-ctyport-firework-green-pop"],[1274,"group-ctyport-firework-red-pop"],[1275,"group-ctyport-firework-pop"],[1276,"group-outro-precursor-entity"],[1277,"group-outro-rift-ring"],[1278,"group-outro-magic-birth"],[1279,"group-outro-magic-birth2"],[1280,"group-outro-onin-finger-blast"],[1281,"group-outro-onin-finger-effect"],[1282,"group-outro-precursor-stone-glow"],[1283,"group-outro-port-feathers-n-fur-impact"],[1284,"group-outro-port-feathers-n-fur"],[1104,"group-palroof-window-large"],[1105,"group-palroof-window-small"],[1106,"group-palroof-runoff-high"],[1107,"group-palroof-runoff-med"],[1108,"group-palroof-runoff-low"],[1109,"group-palroof-lightning-pole"],[540,"group-fordumpa-panel-1"],[541,"group-fordumpa-panel-2"],[542,"group-fordumpa-panel-3"],[543,"group-fordumpa-panel-4"],[544,"group-fordumpa-overhead-lights"],[545,"group-fordumpa-yellow-glows"],[546,"group-fordumpa-blue-large-lights"],[547,"group-fordumpa-blue-lights"],[548,"group-fordumpa-red-lights"],[549,"group-fordumpa-single-red-lights"],[550,"group-fordumpa-yellow-lights"],[551,"group-fordumpa-lightning-pole"],[552,"group-fordumpa-lightning-pole-off"],[685,"group-fort-turret-hit"],[765,"group-whack-scoreboard-misses"],[766,"group-whack-scoreboard-points"],[767,"group-whack-miss"],[768,"group-whack-hit"],[769,"group-whack-shock"],[770,"group-mole-dizzy"],[739,"group-tomb-boulder-roll"],[740,"group-tomb-boulder-bounce"],[655,"group-forrescb-overhead-lights"],[656,"group-forrescb-yellow-glows"],[657,"group-forrescb-blue-lights"],[658,"group-forrescb-single-red-lights-1"],[659,"group-forrescb-single-red-lights-2"],[660,"group-forrescb-single-red-lights-3"],[661,"group-forrescb-single-red-lights-4"],[662,"group-forrescb-single-red-lights-5"],[663,"group-forrescb-single-red-lights-6"],[664,"group-forrescb-panel-1"],[665,"group-forrescb-panel-2"],[666,"group-forrescb-panel-3-full"],[667,"group-forrescb-panel-3"],[668,"group-forrescb-panel-4"],[669,"group-forrescb-panel-4-small"],[670,"group-forrescb-yellow-lights"],[671,"group-forrescb-lightning-pole"],[672,"group-forrescb-radar-globes"],[673,"group-forrescb-flat-panel-1"],[674,"group-forrescb-flat-panel-2"],[675,"group-forrescb-flat-panel-3"],[676,"group-forrescb-flat-panel-4"],[677,"group-forrescb-flat-panel-5"],[678,"group-forrescb-flat-panel-6"],[679,"group-forrescb-small-panel-1"],[680,"group-forrescb-small-panel-2"],[681,"group-forrescb-small-panel-3"],[682,"group-forrescb-small-panel-4"],[683,"group-forrescb-small-panel-5"],[684,"group-forrescb-inverted-panel"],[709,"group-spydroid-trail"],[710,"group-spydroid-explode"],[1285,"group-title-sign-naughtydog"],[1286,"group-title-sign-big-praxis"],[1287,"group-title-sign-wanted"],[1288,"group-title-sign-scea"],[1289,"group-title-plug"],[202,"group-mech-explode-death"],[1071,"group-palcab-lights"],[1072,"group-palcab-spark-rain-1"],[1073,"group-palcab-spark-rain-2"],[1074,"group-palcab-spark-rain-3"],[1075,"group-palcab-spark-rain-4"],[1076,"group-palcab-spark-rain-5"],[1077,"group-palcab-spark-rain-6"],[1078,"group-palcab-spark-rain-7"],[1079,"group-palcab-spark-rain-8"],[1080,"group-palcab-spark-rain-9"],[1081,"group-palcab-spark-rain-10"],[1082,"group-palcab-spark-rain-11"],[1083,"group-palcab-spark-rain-12"],[1084,"group-palcab-spark-rain-13"],[1085,"group-palcab-spark-rain-14"],[1086,"group-palcab-spark-rain-15"],[1087,"group-palcab-spark-rain-16"],[1088,"group-palcab-birds"],[1089,"group-palcab-stadium-lights"],[1090,"group-palcab-palace-fire"],[1091,"group-palcab-misc-citylights-red-1"],[1092,"group-palcab-misc-citylights-red-2"],[1093,"group-palcab-misc-citylights-red-3"],[1094,"group-palcab-misc-citylights-blue-1"],[1095,"group-palcab-misc-citylights-blue-2"],[1096,"group-palcab-cable-lights"],[1097,"group-palcab-strip-glows"],[1098,"group-palcab-fiery-smokestack"],[1099,"group-palcab-mountain-glows"],[1100,"group-palcab-cable-blue-rotaters"],[1101,"group-palcab-city-glows-1"],[1102,"group-palcab-city-glows-2"],[1103,"group-palcab-city-glows-3"],[611,"group-forexita-panel-1"],[612,"group-forexita-panel-2"],[613,"group-forexita-panel-3"],[614,"group-forexita-panel-4"],[615,"group-forexita-overhead-lights"],[616,"group-forexita-yellow-glows"],[617,"group-forexita-claw-panel"],[618,"group-forexita-lift-plat-glow"],[619,"group-forexita-blue-lights"],[620,"group-forexita-yellow-lights"],[621,"group-forexita-l-upsideown-panel"],[622,"group-forexita-l-panel"],[778,"group-onin-candle"],[779,"group-onin-octopus-tank-bubbles"],[780,"group-onin-big-tank-bubbles"],[781,"group-onin-medium-tank-bubbles"],[782,"group-onin-short-tank-bubbles"],[783,"group-onin-mini-tank-bubbles"],[784,"group-onin-flashpot"],[785,"group-onin-heatpot"],[786,"group-onin-tiki"],[787,"group-onin-bird-top"],[788,"group-onin-bird-cage"],[789,"group-onin-bugs"],[790,"group-onintent-seed-glow"],[791,"group-symbol-of-mar"],[792,"group-onin-clap-effect"],[793,"group-onin-big-clap-effect"],[794,"group-onin-finger-effect"],[795,"group-onin-small-finger-effect"],[796,"group-onintent-seal-of-mar-glow"],[797,"group-onintent-seal-of-mar-glow-small"],[798,"group-onintent-seal-of-mar-flash"],[799,"group-onin-bubble-triangle"],[800,"group-onin-bubble-circle"],[801,"group-onin-bubble-square"],[802,"group-onin-bubble-x"],[803,"group-onin-bubble-pop-triangle"],[804,"group-onin-bubble-pop-circle"],[805,"group-onin-bubble-pop-square"],[806,"group-onin-bubble-pop-x"],[807,"group-onin-bubble-birth-triangle"],[808,"group-onin-bubble-birth-circle"],[809,"group-onin-bubble-birth-square"],[810,"group-onin-bubble-birth-x"],[811,"group-onin-bubble-land-triangle"],[812,"group-onin-bubble-land-circle"],[813,"group-onin-bubble-land-square"],[814,"group-onin-bubble-land-x"],[894,"group-garage-lights"],[895,"group-garage-pump-glow"],[896,"group-garage-guage-lights"],[897,"group-garage-steam-release"],[898,"group-stadium-flamepot"],[899,"group-stadium-flamepot-waterspout"],[900,"group-stadium-waterfall"],[901,"group-stadium-quickflash-red-light"],[902,"group-defend-rift-rider-energy"],[903,"group-defend-stadium-samos-energy"],[904,"group-stadiumd-danger-light-1"],[905,"group-stadiumd-danger-light-2"],[906,"group-stadiumd-danger-light-3"],[907,"group-stadiumb-overhead-light"],[908,"group-stadiumb-tunnel-light-top"],[909,"group-stadiumb-yellow-tunnel-light-top"],[910,"group-stadiumb-tunnel-light-orange-pole"],[911,"group-stadiumb-tunnel-light-orange-pole-big"],[912,"group-stadiumb-tunnel-light-blue-ceiling"],[913,"group-stadiumb-tunnel-light-green-ceiling"],[914,"group-stadiumb-tunnel-light-blue-pole"],[915,"group-stadiumb-tunnel-light-blue-pole-small"],[916,"group-stadiumb-scoreboard"],[917,"group-stadiumb-scoreboard-1-sided"],[918,"group-stadiumb-crowd-straight"],[919,"group-stadiumb-crowd-straight-180"],[920,"group-stadiumb-crowd-curved"],[921,"group-stdm-baron-box-thruster"],[922,"group-stdm-barrel-explosion"],[923,"group-stdm-barrel-explosion-afterglow"],[924,"group-stdm-bike-thruster"],[925,"group-stdm-trophy-bling-bling"],[926,"group-stdm-trophy-2-bling-bling"],[927,"group-stdm-balloon-smoke"],[848,"group-ctygenc-streetlight"],[849,"group-ctygenc-wall-light"],[850,"group-ctygenc-under-bridge-light"],[851,"group-ctygenc-ground-vent-base"],[852,"group-ctygenc-vertical-vent"],[853,"group-ctygenc-sign-8x4"],[854,"group-ctygenc-sign-4x8"],[855,"group-ctygenc-sign-4x4-1"],[856,"group-ctygenc-sign-4x4-2"],[857,"group-ctygenc-ticker-horizontal"],[858,"group-ctygenc-ticker-vertical"],[1006,"group-mcrate-explode"],[1007,"group-mbasket-a-explode"],[1008,"group-mbasket-b-explode"],[1009,"group-msack-a-explode"],[1010,"group-msack-b-explode"],[1011,"group-ctymarka-shop-light"],[1012,"group-ctymarka-neon-sign-tools"],[1013,"group-ctymarka-neon-sign-fish"],[1014,"group-ctymarka-neon-sign-rugs"],[1015,"group-ctymarkb-hanging-light-1"],[1016,"group-ctymarkb-hanging-light-2"],[1017,"group-ctymarkb-hanging-light-3"],[1018,"group-ctymarkb-hanging-light-4"],[1019,"group-ctymarkb-shop-light"],[1020,"group-ctymarkb-red-light"],[1021,"group-ctymarkb-quickflash-red-light"],[1022,"group-ctymarkb-neon-sign-tools"],[1023,"group-ctymarkb-neon-sign-fish"],[1024,"group-ctymarkb-neon-sign-rugs"],[553,"group-fordumpb-panel-1"],[554,"group-fordumpb-panel-3"],[555,"group-fordumpb-panel-4"],[556,"group-fordumpb-yellow-glows"],[557,"group-fordumpb-blue-lights"],[558,"group-fordumpb-red-lights"],[559,"group-fordumpb-single-red-lights"],[560,"group-fordumpb-exit-panel"],[535,"group-skatea-triangle-light"],[536,"group-skatea-vertical-light"],[537,"group-skatea-tall-vertical-light"],[538,"group-skatea-overhead-light"],[539,"group-skatea-flaming-ring"],[970,"group-ctyinda-red-floor-vent"],[971,"group-ctyinda-red-lights"],[972,"group-ctyinda-blue-lights"],[973,"group-ctyinda-wide-glows-yellow"],[974,"group-ctyinda-sign-fashion-8x4"],[975,"group-ctyinda-sign-praxis-banner-4x8"],[976,"group-ctyinda-sign-onin-knows-4x4"],[977,"group-ctyinda-chimney"],[978,"group-ctyinda-chimney-smoke"],[979,"group-ctyinda-chimney-small"],[980,"group-ctyinda-red-big-lights-1"],[981,"group-ctyinda-red-big-lights-2"],[982,"group-ctyinda-red-big-lights-3"],[983,"group-ctyinda-red-big-lights-4"],[984,"group-ctyinda-red-big-lights-5"],[985,"group-ctyinda-red-big-lights-6"],[986,"group-ctyinda-smokestack"],[987,"group-ctyinda-squarevent"],[686,"group-tomb-vibe-dust-puff"],[687,"group-tomb-huge-flamepot"],[688,"group-tomb-flamepot-1"],[689,"group-tomb-flamepot-2"],[690,"group-tomb-flamepot-3"],[691,"group-tomb-boulder-flamepot-3"],[692,"group-tomb-small-flamepot-1"],[693,"group-tomb-small-flamepot-2"],[694,"group-tomb-small-flamepot-3"],[695,"group-tomb-eco-flamepot-1"],[696,"group-tomb-water-trap-hit"],[697,"group-tomb-boss-end-explosion"],[698,"group-tomb-boss-end-trailer-large"],[699,"group-tomb-spider-chase-trailer-small"],[700,"group-tomb-spider-chase-trailer"],[701,"group-tomb-spider-chase-trailer-medium"],[702,"group-tomb-spider-chase-trailer-large"],[703,"group-tomb-spider-foot-puff"],[704,"group-tomb-spider-chase-explosion"],[705,"group-tomb-spider-chase-explosion-fma"],[706,"group-tomb-spider-dirt-collapse"],[707,"group-tomb-boss-bridge-trailer"],[708,"group-tomb-beetle-explode"],[711,"group-widow-bomb-explode"],[712,"group-widow-bomb-smoke"],[713,"group-widow-drilling-sparks"],[714,"group-widow-drilling-sparks-alt"],[715,"group-widow-extract-stone"],[716,"group-widow-insert-stone"],[717,"group-widow-catwalk-shatter"],[718,"group-widow-pillar-hit"],[719,"group-widow-pillar-fall"],[720,"group-widow-firepot-shatter"],[721,"group-widow-launch-bomb-or-droid"],[722,"group-widow-bomb-trail"],[723,"group-widow-bomb-warning-sparks"],[724,"group-widow-bomb-warning-glow"],[725,"group-widow-bomb-skid-sparks"],[726,"group-widow-stone-glow"],[727,"group-widow-stone-glint"],[728,"group-widow-green-cannon-glow-rays"],[729,"group-widow-green-cannon-glow-rays-movie"],[730,"group-widow-land"],[731,"group-widow-green-gun-charge"],[732,"group-widow-green-gun-fire"],[733,"group-widow-debris-dust"],[734,"group-widow-hit-by-big-debris"],[735,"group-widow-hit-by-med-debris"],[736,"group-widow-hit-by-sml-debris"],[737,"group-widow-boss-pebble-drop"],[738,"group-widow-damaged-sparks"],[1066,"group-palshaft-overhead-lights"],[1067,"group-palshaft-yellow-lights"],[1068,"group-palshaft-blue-strip-lights"],[1069,"group-palshaft-yellow-strip-lights"],[1070,"group-palshaft-console-1"],[1053,"group-rolling-ring"],[1054,"group-rolling-spawn-ring"],[1055,"group-rolling-explode-ring"],[1056,"group-bush-collect"],[1057,"group-cargo-explosion"],[834,"group-ctygenb-ground-vent-base"],[835,"group-ctygenb-ground-light"],[836,"group-ctygenb-red-light-small"],[837,"group-ctygenb-blue-light-wall"],[838,"group-ctygenb-blue-street-lamp"],[839,"group-ctygenb-blue-vents-pipe-bent"],[840,"group-ctygenb-blue-vents-wall"],[841,"group-ctygenb-sign-8x4"],[842,"group-ctygenb-sign-4x8"],[843,"group-ctygenb-sign-4x4"],[844,"group-ctygenb-ticker-horizontal"],[845,"group-ctygenb-ticker-vertical"],[846,"group-ctygenb-ground-vent-square"],[847,"group-ctygenb-under-bridge-light"],[519,"group-gun-dummy-sparks"],[520,"group-gun-dummy-a"],[521,"group-gun-dummy-b"],[522,"group-gun-dummy-c"],[523,"group-gun-dummy-big"],[524,"group-gun-dummy-gold"],[525,"group-gun-dummy-peace"],[526,"group-gun-cit-a"],[527,"group-gun-cit-b"],[528,"group-gun-cit-c"],[529,"group-gun-cit-d"],[530,"group-gungame-laser-beam"],[531,"group-gungame-vent"],[532,"group-gungame-overhead-lights"],[533,"group-gungame-pipespew"],[534,"group-gungame-blue-lights"],[387,"group-canyon-baron-break-trailer-door"],[388,"group-canyon-baron-break-trailer-small"],[389,"group-canyon-baron-break-trailer-medium"],[390,"group-canyon-baron-break-trailer-large"],[391,"group-canyon-baron-statue-explosion"],[392,"group-canyon-baron-door-explosion"],[393,"group-canyon-dust-trail"],[394,"group-canyon-dust-trail-smaller"],[395,"group-canyon-vert-gear-dust"],[396,"group-canyon-horz-gear-dust"],[397,"group-canyon-mtn-shard-glow"],[240,"group-vinroom-console-1"],[241,"group-vinroom-console-2"],[242,"group-vinroom-tv-matrix"],[243,"group-vinroom-tv-code"],[244,"group-vinroom-tv-2dcode"],[245,"group-vinroom-tv-dots"],[246,"group-vinroom-tv-bargraph"],[247,"group-vinroom-tv-numbers"],[248,"group-vinroom-tv-radar"],[249,"group-vinroom-tv-threebar-1"],[250,"group-vinroom-tv-threebar-2"],[251,"group-vinroom-tv-threebar-3"],[252,"group-vinroom-tv-splitdots"],[253,"group-vinroom-tv-smallradar"],[254,"group-vinroom-tv-final"],[255,"group-vinroom-center-sphere"],[256,"group-vinroom-console-little-red-light-1"],[257,"group-vinroom-console-little-red-light-2"],[258,"group-vinroom-console-little-red-light-3"],[259,"group-vinroom-console-little-red-light-4"],[260,"group-vinroom-console-little-red-light-5"],[261,"group-vinroom-console-little-red-light-6"],[262,"group-vinroom-console-little-red-light-7"],[263,"group-vinroom-console-little-red-light-8"],[264,"group-vinroom-console-blue-light-1"],[265,"group-vinroom-console-blue-light-2"],[266,"group-vinroom-console-blue-light-3"]] diff --git a/decompiler/config/jak3/jak3_config.jsonc b/decompiler/config/jak3/jak3_config.jsonc index f2b66d39ef..cba298bfd7 100644 --- a/decompiler/config/jak3/jak3_config.jsonc +++ b/decompiler/config/jak3/jak3_config.jsonc @@ -42,12 +42,16 @@ "process_game_count": false, // write goal imports for art groups "process_art_groups": false, + // write goal imports for the part group table + "process_part_group_table": true, // write out a json file containing the art info mapping, run this with all objects allowed "dump_art_group_info": false, // write out a json file containing the joint node mapping, run this with all objects allowed "dump_joint_geo_info": false, // write out a json file containing tpage and texture mappings, run with all objects allowed "dump_tex_info": false, + // write out a json file containing the part group table, run with all objects allowed + "dump_part_group_table": false, // set to false to skip adding .STR files to the decompiler database "read_spools": true, @@ -105,6 +109,7 @@ "art_group_dump_file": "decompiler/config/jak3/ntsc_v1/art-group-info.min.json", "joint_node_dump_file": "decompiler/config/jak3/ntsc_v1/joint-node-info.min.json", "tex_dump_file": "decompiler/config/jak3/ntsc_v1/tex-info.min.json", + "part_group_table_dump_file": "decompiler/config/jak3/ntsc_v1/part-groups.min.json", "process_stack_size_file": "decompiler/config/jak3/ntsc_v1/process_stack_size_overrides.jsonc", // optional: a predetermined object file name map from a file. diff --git a/decompiler/config/jak3/ntsc_v1/part-groups.min.json b/decompiler/config/jak3/ntsc_v1/part-groups.min.json new file mode 100644 index 0000000000..b1b77284bf --- /dev/null +++ b/decompiler/config/jak3/ntsc_v1/part-groups.min.json @@ -0,0 +1 @@ +[[640,"group-nest-fog"],[651,"group-beast-mh-centipede-shot-glow"],[650,"group-mh-centipede-shot-explosion"],[649,"group-mh-centipede-shot-trail"],[648,"part-mh-centipede-explosion-splats"],[647,"group-mh-centipede-death"],[646,"group-mh-centipede-impact-dust-up"],[645,"group-mh-centipede-impact"],[644,"group-mh-centipede-dirt-fall-off"],[643,"group-mh-centipede-crater-mark"],[642,"group-mh-centipede-breach"],[641,"group-mh-centipede-before-breach"],[236,"group-mech-explode-death"],[241,"group-for-turret-scorched-earth"],[240,"group-for-turret-shot-die"],[239,"group-for-turret-shot-hit"],[783,"group-robotank-barrel-sparks"],[782,"group-robotank-steamescape"],[781,"group-fac-gunturret-casing"],[780,"group-fac-gunturret-smoke"],[779,"group-fac-gunturret-hit"],[778,"group-factory-vehicle-shot"],[777,"group-fac-guntower-particle"],[776,"group-gun-warf-shot-hit"],[775,"part-fturret-lightning-glow"],[774,"group-fturret-shot-die"],[773,"group-fturret-grenade"],[772,"group-fturret-shot-hit"],[771,"group-fturret-shot-hit-object"],[770,"part-ftank-lightning-glow"],[769,"group-ftank-shot-die"],[768,"group-ftank-shot-hit"],[767,"group-ftank-shot-hit-object"],[766,"part-ffight-lightning-glow"],[765,"group-ffight-shot-die"],[764,"group-ffight-shot-hit"],[763,"group-ffight-shot-hit-object"],[1469,"part-cty-sniper-turret-lightning-glow"],[1468,"group-cty-sniper-turret-shot-die"],[1467,"group-cty-sniper-turret-shot-hit"],[1466,"group-cty-sniper-turret-shot-hit-object"],[1465,"group-sniper-turret-explosion"],[1464,"group-sniper-battery-explosion"],[1463,"group-cty-sniper-battery-glow"],[1454,"group-protect-gunship-cannon-charge"],[1453,"group-grp-gunship-explosion"],[1452,"group-missile-beacon"],[1451,"group-gunship-damage"],[1450,"group-gunship-laser-guard-hit"],[531,"group-fuel-pickup-pop"],[530,"group-nuke-fuel"],[529,"group-torpedo-explosion"],[528,"group-nuke-water-splash"],[527,"group-nuke-water-wake"],[526,"group-daxter-missile-heathaze"],[1435,"group-dummy-explode-assault-bombbot-explode"],[1434,"group-lure-sirens-dim"],[1433,"group-lure-sirens"],[1432,"group-missile-thruster-fire"],[1449,"group-part-dark-egg-mist-active"],[1462,"group-bt-mh-flyer-engine"],[1461,"group-gun-hellcat-shot-hit"],[1460,"group-bt-roboguard-explode"],[1459,"group-grunt-hit-pickup"],[1458,"group-bt-dummy"],[1457,"group-bt-mh-flyer-explosion"],[1456,"group-flyer-shot-trail"],[1455,"group-barrel-damage"],[1539,"group-bb-freeze"],[1538,"group-bb-freeze-2"],[1537,"group-bb-freeze-3"],[1536,"group-bb-goal"],[1535,"group-bb-finder-nofade"],[1534,"group-bb-finder"],[1533,"group-trail-goal-touched"],[1532,"group-trail-goal"],[1531,"group-goal-explode"],[1552,"group-desert-ring-birth-final"],[1551,"group-desert-ring-birth"],[1550,"group-desert-ring-explode-final"],[1549,"group-desert-ring-explode"],[1548,"group-desert-ring-final"],[1547,"group-desert-ring"],[1546,"group-spirit-explode"],[1545,"group-score-drop-a"],[1544,"group-score-drop-b"],[1543,"group-score-drop-c"],[1542,"group-bb-ring-finder-nofade"],[1541,"group-bb-ring-finder"],[1540,"group-spirit-goal"],[1230,"group-desert-blowing-dust"],[1229,"group-desert-impact-dust-blow"],[1228,"group-desert-impact-dust"],[1227,"group-tired-desert-heathaze"],[1226,"group-lost-desert-heathaze"],[1225,"group-drop-desert-heathaze"],[1224,"group-ctypal-palace-break-trailer-large"],[1223,"group-ctypal-palace-break-trailer-medium"],[1222,"group-ctypal-palace-break-trailer-small"],[1221,"group-ctypal-support-break-trailer"],[1220,"group-ctypal-palace-break-explode-large"],[1219,"group-ctypal-palace-break-explode-medium"],[1218,"group-ctypal-palace-break-explode-fountain"],[1217,"group-ctypal-palace-break-explode-small"],[1216,"group-palace-tracer-fire"],[1215,"group-palace-flak"],[1214,"group-palace-dust-cloud-big"],[1213,"group-palace-dust-cloud-first"],[1212,"group-palace-smoke-plume"],[1211,"group-palace-huge-explosion"],[1210,"group-palace-small-explode"],[1209,"group-palace-missile-explode"],[1208,"group-palace-missile"],[1207,"group-palace-hellcat-explode"],[1206,"group-hellcat-thruster-thick-trail"],[1205,"group-hellcat-thruster-fire-trail"],[1204,"group-hellcat-thruster-little-trail"],[1203,"group-hellcat-thruster-trail"],[1202,"group-hellcat-thrusters"],[1201,"group-drop-beacon-glow"],[1200,"group-drop-handcuff-light"],[1199,"group-drop-thruster-trail"],[1198,"group-drop-thrusters"],[1197,"group-drop-thrusters-powerdown"],[1196,"group-drop-pecker-dustoff"],[1195,"group-drop-dust-cloud"],[1194,"group-drop-dust-takeoff"],[1193,"group-drop-dust-landing"],[1192,"group-drop-dust-trail"],[1191,"group-drop-shooting-dust"],[1190,"group-palcab-dest-white-eco"],[1189,"group-palcab-dest-fire-smoke"],[1188,"group-palcab-dest-steam"],[1187,"group-palcab-dest-fire"],[1186,"group-palcab-dest-smoke"],[1185,"group-palcab-city-glows-3"],[1184,"group-palcab-city-glows-2"],[1183,"group-palcab-city-glows-1"],[1182,"group-palcab-cable-blue-rotaters"],[1181,"group-palcab-mountain-glows"],[1180,"group-palcab-fiery-smokestack"],[1179,"group-palcab-strip-glows"],[1178,"group-palcab-cable-lights"],[1177,"group-palcab-misc-citylights-blue-2"],[1176,"group-palcab-misc-citylights-blue-1"],[1175,"group-palcab-misc-citylights-red-3"],[1174,"group-palcab-misc-citylights-red-2"],[1173,"group-palcab-misc-citylights-red-1"],[1172,"group-palcab-palace-fire"],[1171,"group-palcab-stadium-lights"],[1170,"group-palcab-birds"],[1169,"group-palcab-spark-rain-16"],[1168,"group-palcab-spark-rain-15"],[1167,"group-palcab-spark-rain-14"],[1166,"group-palcab-spark-rain-13"],[1165,"group-palcab-spark-rain-12"],[1164,"group-palcab-spark-rain-11"],[1163,"group-palcab-spark-rain-10"],[1162,"group-palcab-spark-rain-9"],[1161,"group-palcab-spark-rain-8"],[1160,"group-palcab-spark-rain-7"],[1159,"group-palcab-spark-rain-6"],[1158,"group-palcab-spark-rain-5"],[1157,"group-palcab-spark-rain-4"],[1156,"group-palcab-spark-rain-3"],[1155,"group-palcab-spark-rain-2"],[1154,"group-palcab-spark-rain-1"],[1153,"group-palcab-lights"],[1152,"group-palroof-lightning-pole-off"],[1151,"group-palroof-lightning-pole"],[1150,"group-palroof-runoff-low"],[1149,"group-palroof-runoff-med"],[1148,"group-palroof-runoff-high"],[1147,"group-palroof-window-small"],[1146,"group-palroof-window-large"],[1333,"group-precurc-purple-glow-small"],[1332,"group-precurc-green-glow-small"],[1331,"group-precurc-green-steam"],[1330,"group-precurc-bulb-green-glow-long"],[1329,"group-precurc-bulb-green-glow"],[1328,"group-placeholder-single-shockwave"],[1327,"group-precura-engulfing-death"],[1326,"group-placeholder-single-laser"],[1325,"group-kg-bomb-explosion"],[1324,"group-debug-placeholder-multiple-generator"],[1323,"group-precura-rtableb"],[1322,"group-precura-green-glow-small"],[1321,"group-precura-green-steam"],[1320,"group-precura-bulb-green-glow-long"],[1319,"group-precura-bulb-green-glow"],[1318,"group-gem-explosion"],[1317,"group-gem-d-smoke"],[1316,"group-shock-wave"],[1315,"group-bomb-spawner"],[1314,"group-platform-effect"],[1313,"group-precura-generator-explode"],[1312,"group-precurd-bulb-ceiling-glow"],[1311,"group-precurd-bulb-green-glow-long"],[1310,"group-precurd-bulb-green-glow-small"],[1309,"group-precur-debris-wind"],[1308,"group-airlock-sucking"],[1307,"group-errol-jetpack"],[1306,"group-fma-lightjak-get-off"],[1305,"group-dark-eco-gun-charge"],[1304,"group-light-eco-gun-charge"],[1303,"group-precursor-ship-beam-hit"],[1302,"group-final-beam-cut-sparks"],[1301,"group-final-beam-rise-mist"],[1300,"group-beam-combine-flash"],[1299,"group-precursor-ship-explosion"],[1294,"group-veger-to-otsel-zap"],[1293,"group-railx-warpgate"],[1292,"group-railx-veger-transform"],[1291,"group-railx-ottsel-bubble"],[1290,"group-railx-veger-bubble"],[1289,"group-railx-shoot-at-veger"],[1288,"group-railx-room-light"],[1287,"group-railx-veger-glow"],[1286,"group-railx-rod-of-god"],[1285,"group-dark-eco-cannon-charge"],[1284,"group-light-eco-cannon-charge"],[1283,"group-railx-eco-sphere-glow"],[1282,"group-railx-eco-sphere-glow-ramp-up"],[1281,"group-railx-oracle-eye-glow"],[1280,"group-railx-oracle-eye-open"],[1279,"group-railcst-dust-landing"],[1278,"group-fma-hover-vehicle-exhaust-glow"],[1277,"group-leader-staff-shot-glow"],[1276,"group-railx-precursor-entity"],[1275,"group-fma-railx-precursor-entrance-flash"],[1274,"group-combx-capsulescreen"],[1273,"group-combx-smallscreen"],[1272,"group-combx-mediumscreen"],[1271,"group-combx-bigscreen"],[1270,"group-combx-yellowstrip"],[1269,"group-combx-orbblueglow"],[1268,"group-combx-rimlight"],[1267,"group-combx-yellowledglow"],[1266,"group-combx-blueled"],[1265,"group-combx-yellowled"],[1264,"group-combx-blueoval"],[1263,"group-combx-yellowoval"],[1262,"group-pedestal-blue-glow"],[1261,"group-combx-small-yellow-glow"],[1260,"group-combx-medium-yellow-glow"],[1259,"group-combx-big-yellow-glow"],[1258,"group-fma-lightjak-getshield-flash"],[1257,"group-fma-lightjak-getshield-gravitate"],[1256,"group-fma-lightjak-getshield"],[1255,"group-fma-precursor-entrance-flash"],[1254,"group-fma-medallion-car-charge"],[1253,"group-fma-medallion-car-beam"],[1252,"group-outro-precursor-entity"],[1251,"group-comb-ceiling-panel-yellow-glow"],[1250,"group-comb-mainwall-blue-glow"],[1249,"group-comb-widetube-yellow-glow"],[1248,"group-comb-lighttube-yellow-glow"],[1247,"group-comb-powerdisc-blue-glow"],[1246,"group-comb-brightlight-big-yellow-glow"],[1245,"group-comb-light-yellow-glow"],[1244,"group-comb-sphere-yellow-glow"],[1243,"group-comb-shelltube-yellow-glow"],[1242,"group-comb-marker-small-red-glow"],[1241,"group-comb-marker-red-glow"],[1240,"group-comb-bigblue-glow"],[1239,"group-comb-supp-blue-glow"],[1238,"group-hugelight-small-yellow-glow"],[1237,"group-hugelight-big-yellow-glow"],[1236,"group-comb-arch-yellow-glow"],[1235,"group-comb-obstacle-glow"],[1234,"group-comb-hover-vehicle-exhaust-distortion"],[1233,"group-comb-hover-vehicle-exhaust-glow"],[1298,"group-fma-rub-hover-vehicle-exhaust-glow"],[1297,"group-fma-rhino-smoke"],[1296,"group-rubble-missile-explode"],[1295,"group-rubble-missile"],[1029,"group-dm-mine-spider-explode"],[1028,"group-dm-mine-spider-birth"],[1027,"group-elec-gate-sparks"],[1026,"group-rubble-tower-break"],[1003,"group-rhino-door-break"],[1025,"group-rubble-switch-sparks"],[1024,"group-rubble-switch-explode"],[1023,"group-rubble-switch-glow"],[1022,"group-rub-elec-gate"],[1021,"group-rub-missile-explode"],[1020,"group-rub-missile"],[1019,"group-rubble-barrel-fire"],[1018,"group-rubble-bulb-yellow-glow"],[1017,"group-rubble-wispy-smoke"],[1016,"group-rubble-rubble-crater-smoke"],[1015,"group-rubble-huge-smoke"],[1014,"group-rubble-rubble-smoke"],[1001,"group-rubble-break-door-bust"],[1002,"group-rub-dark-jak-door"],[1013,"group-rubble-break-dust-trail"],[1012,"group-rubble-break-dust"],[1011,"group-small-yellow-glow"],[1010,"group-hugelight-yellow-glow"],[1009,"group-rubble-blue-glow"],[1008,"group-rubble-lighttube-yellow-glow"],[1007,"group-fma-neo-satellite-explosion"],[1006,"group-fma-door-break-dust"],[1005,"group-fma-battle-amulet-glow"],[1004,"group-mh-tower-smoke-stda"],[1000,"group-stadium-barrel-fire"],[999,"group-stadium-rubble-crater-smoke"],[998,"group-stadium-rubble-smoke"],[1448,"group-hellcat-tower-dust-landing"],[1447,"group-tower-hellcat-heathaze"],[1446,"group-tower-hellcat-thrusters-landing"],[1445,"group-tower-hellcat-thrusters-trail"],[1444,"group-tower-hellcat-thrusters-fire"],[1443,"group-tower-dark-warpgate"],[1442,"group-tower-errol-hand-glow"],[1441,"group-dark-tower-explosion"],[1440,"group-tower-purple-glow"],[1439,"group-tower-yellow-glow"],[1438,"group-tow-energy-bridge"],[1437,"group-tow-spawner-dead"],[1436,"group-tow-spawner-spawn"],[1385,"group-factory-debris-impact"],[1384,"group-factory-debris-trails"],[1383,"group-factory-daxter-impact-dust"],[1382,"group-factory-errol-jetpack-r"],[1381,"group-factory-errol-jetpack-l"],[1380,"group-enter-dark-warpgate"],[1379,"group-fac-boss-missile-explosion"],[1378,"group-facboss-sparks"],[1377,"group-factory-boss-launch-critter"],[1376,"group-factory-boss-superbomb-ring"],[1375,"group-factory-boss-superbomb-reticle"],[1374,"group-factory-boss-bomb-arrow"],[1373,"group-factory-boss-bomb-dot"],[1372,"group-factory-boss-bomb-corner"],[1371,"group-factory-boss-bomb-reticle"],[1370,"group-missile-bot-thruster"],[1369,"group-missile-bot-spark"],[1368,"group-missile-bot-fizzle"],[1367,"group-factory-boss-machine-explosion"],[1366,"group-factory-boss-machine-ring4"],[1365,"group-factory-boss-machine-ring3"],[1364,"group-factory-boss-machine-ring2"],[1363,"group-factory-boss-machine-ring1"],[1362,"group-factory-boss-machine-damaged-low-smoke"],[1361,"group-factory-boss-machine-damaged-high-smoke"],[1360,"group-factory-boss-shot-explosion"],[1359,"group-factory-boss-shot-trail"],[557,"group-neo-wasp-engine"],[556,"group-neo-wasp-gun-casing"],[555,"group-neo-wasp-gun-smoke"],[554,"group-neo-wasp-shot-die"],[553,"group-neo-wasp-shot-hit"],[525,"group-bombbot-bomb-warning-glow"],[807,"group-fac-fire-torch"],[806,"group-fact-big-torch"],[805,"group-mhtower-green-glowing-smoke"],[804,"group-mhtower-orange-glow"],[803,"group-citylights-newslums"],[802,"group-citylights-oldslums"],[801,"group-kgtower-smoke"],[800,"group-kgtower-smokestack"],[799,"group-steady-blue-light"],[798,"group-kgtower-flashing-blue-light-6"],[797,"group-kgtower-flashing-blue-light-5"],[796,"group-kgtower-flashing-blue-light-4"],[795,"group-kgtower-flashing-blue-light-3"],[794,"group-kgtower-flashing-blue-light-2"],[793,"group-kgtower-flashing-blue-light-1"],[792,"group-ctylights-steady-green-glow"],[791,"group-ctylights-steady-yellow-glow"],[790,"group-kgtower-steady-red-light"],[789,"group-kgtower-pulsating-red-light-6"],[788,"group-kgtower-pulsating-red-light-5"],[787,"group-kgtower-pulsating-red-light-4"],[786,"group-kgtower-pulsating-red-light-3"],[785,"group-kgtower-pulsating-red-light-2"],[784,"group-kgtower-pulsating-red-light-1"],[762,"group-hellcat-dust-landing-fac"],[761,"group-hellcat-thruster-trail-fac"],[760,"group-hellcat-thrusters-follow"],[759,"group-hellcat-thrusters-fac"],[758,"group-hellcat-thrusters-fire"],[757,"group-fma-hellcat-heathaze"],[756,"group-fma-hellcat-heathaze-ground"],[755,"group-fac-rotfan-barrier"],[754,"group-fac-switch-glow-green"],[753,"group-fac-switch-glow-red"],[752,"group-fac-robopod-bust"],[751,"group-fac-break-fence-bust"],[750,"group-fac-break-floor-bust"],[749,"group-fac-grate-yellow-glow"],[748,"group-fac-glowt-yellow-glow"],[747,"group-fac-glowlite-yellow-glow"],[746,"group-fac-volumelight-yellow-glow"],[745,"group-fac-steam"],[744,"group-fac-blinklite-glow"],[743,"group-fac-supportarm-white-glow"],[742,"group-fac-cornertower-white-glow"],[741,"group-fac-topsidewall-white-glow"],[740,"group-fac-bulb-red-glow"],[739,"group-fac-spot-white-glow"],[738,"group-fac-hangingbrace-white-glow"],[737,"group-fac-launchpad-red-glow"],[736,"group-fac-positionlight-yellow-glow"],[735,"group-gun-tower-hit-object"],[734,"group-gun-tower-hit-explosion"],[733,"group-fac-target-explosion"],[732,"group-fac-tank-explosion"],[731,"group-fac-gun-tower-explosion"],[730,"group-fac-fighter-explosion"],[729,"group-hellcat-thrust-afterburn"],[728,"group-hellcat-thrust"],[596,"group-forest-telescope-eye-beam"],[595,"group-day-star-fma-forest"],[594,"group-forest-ring-birth-final"],[593,"group-forest-ring-birth"],[592,"group-forest-ring-explode-final"],[591,"group-forest-ring-explode"],[590,"group-forest-ring-final"],[589,"group-forest-ring"],[588,"group-for-statue-eyes"],[587,"group-for-tower-splash"],[586,"group-for-pillar-splash"],[585,"group-for-statue-explode"],[584,"group-for-statue-buildup"],[583,"group-for-statue-rise-no-rocks"],[582,"group-for-statue-rise"],[581,"group-forest-waterfall-splash"],[580,"group-forest-waterfall-base"],[579,"group-for-ring-finder-explosion"],[578,"group-for-ring-finder"],[577,"group-for-bridge-dust"],[576,"group-mh-plant-pop"],[575,"group-mh-plant-warning"],[574,"group-mh-plant-die"],[573,"group-mh-plant-flare-pop"],[572,"group-mh-plant-embers"],[571,"group-mh-plant-rebirth"],[247,"group-dp-bipedal-eye-glow"],[1356,"group-mine-boss-fma-dust2"],[246,"group-dp-bipedal-grenade-shot-hit"],[1355,"group-mine-boss-fma-dust"],[245,"group-dp-bipedal-grenade-shot"],[1354,"group-mine-boss-fma-dust-trailer"],[244,"group-dp-bipedal-drip"],[1353,"group-mine-bridge-fma-dust-trailer"],[243,"group-dp-bipedal-ambush-drip"],[1352,"group-temp-8"],[242,"group-dp-bipedal-ambush"],[1351,"group-temp-7"],[378,"group-terraformer-explosion"],[1487,"group-sewer-waterfall-base-big"],[377,"group-desert-scenes-hologram-light"],[1486,"group-sewer-waterfall-base"],[376,"group-desert-scenes-hologram-explosion"],[1485,"group-sewer-falls-tilt"],[375,"group-desert-scenes-impact-dust"],[1484,"group-sewer-whirlpool-center"],[374,"group-scenes-daxter-run-dust"],[1483,"group-sewer-falls-froth"],[373,"group-scenes-daxter-impact-dust"],[1482,"group-sew-yellow-grate-wake"],[372,"group-desert-scenes-beast-fall-dust"],[1481,"group-sew-grate-wake"],[371,"group-lizard-catch-buggy-dust-skid"],[1480,"group-sew-wake-small"],[370,"group-desert-beast-fall-crystal-glow"],[1479,"group-sew-fan-lasersight-hostile"],[369,"group-final-boss-head-smoke"],[1478,"group-sew-fan-lasersight"],[368,"group-chunks-slide-dust"],[1477,"group-sew-little-ridge-wake"],[367,"group-desert-dust-wave"],[1476,"group-sewer-panel-light-glow"],[366,"group-terraformer-fma2-hit-ground"],[1475,"group-sewer-light-glow"],[365,"group-terraformer-fma2-dust-trails"],[1474,"group-sewer-deadly-mist"],[364,"group-terraformer-fma2-thrusters-sm"],[1473,"group-sewer-green-steam"],[363,"group-terraformer-fma2-thrusters"],[1472,"group-sewer-hard-blowing-steam"],[362,"group-terraformer-fma2-smoke"],[1471,"group-sewer-steamvent"],[361,"group-terraformer-fma-thrusters-sm"],[1470,"group-sewer-gas"],[360,"group-terraformer-fma-thrusters"],[359,"group-terraformer-fma-smoke"],[358,"group-terraformer-fma-detach"],[357,"group-terraformer-fma-explosion"],[356,"group-terraformer-foot-impact-dust"],[355,"group-oasis-hellcat-heathaze"],[354,"group-oasis-hellcat-thruster-trail"],[353,"group-oasis-hellcat-thrusters"],[352,"group-oasis-hellcat-dust-trail"],[351,"group-oasis-medallion-sparkle"],[350,"group-desert-car-fly"],[349,"group-nst-barrier-egg-explode"],[348,"group-desert-barrier-explosion"],[347,"group-desert-shot"],[346,"group-desert-shot-muzzle"],[345,"group-desert-gun-charge"],[344,"group-desert-water-rocks-splash"],[343,"group-desert-waterfall-mist-rainbow"],[342,"group-desert-waterfall-mist-up"],[341,"group-desert-waterfall-splash"],[340,"group-desert-waterfall-mist-fall"],[339,"group-desert-bollard-fire"],[338,"group-stronghold-torchfire"],[337,"group-firepit-fire"],[336,"group-desert-totem-head-fire"],[335,"group-desert-palace-fire-beacon"],[334,"group-desert-small-bowl-fire"],[333,"group-desert-dust-devil"],[332,"group-desert-bowl-fire"],[331,"group-desert-hanging-fire"],[330,"group-volcano-smoke-all"],[447,"group-dm-tentacle-whip-hit-ground"],[446,"group-dm-tentacle-retract"],[445,"group-dm-tentacle-extend"],[444,"group-dm-tentacle-spores"],[443,"group-dm-tentacle-explosion"],[442,"group-dm-urchin-explosion"],[441,"group-desw-eco-tank-explosion"],[440,"group-prebot-critter-trail"],[427,"group-neo-satellite-buildup"],[426,"group-neo-satellite-explode"],[425,"group-neo-sat-damage-heavy"],[424,"group-neo-sat-damage-medium"],[423,"group-neo-sat-damage-light"],[422,"group-neo-sat-antenna-explode"],[421,"group-neo-sat-debris-fly"],[1530,"group-mh-wasp-explosion"],[420,"group-neo-sat-ground-dust"],[1529,"group-mh-wasp-engine"],[419,"group-neo-sat-ground-emerge"],[1528,"group-mh-wasp-gun-casing"],[418,"group-neo-sat-ground-impact"],[1527,"group-mh-wasp-gun-smoke"],[222,"group-ashelin-shot-hit"],[456,"group-catapult-target-scorched-earth"],[455,"group-catapult-target-glow"],[454,"group-catapult-embers-fire"],[453,"group-kamikaze-interceptor-fire"],[452,"group-v-catapult-shot-explosion"],[451,"group-v-catapult-shot-trail"],[450,"group-v-catapult-shot"],[449,"group-v-catapult-shot-idle"],[448,"group-v-catapult-shot-chargeup"],[439,"group-terraformer-foot-water-drop"],[438,"group-terraformer-lift-foot-from-water"],[437,"group-terraformer-foot-splash"],[436,"group-terraformer-foot-sand-drop"],[435,"group-terraformer-foot-mark"],[434,"group-terraformer-lift-foot"],[433,"group-terraformer-stomp-foot"],[432,"group-terraformer-mine-dust"],[431,"group-terraformer-drone-impact"],[430,"group-terraformer-drone-dust-up"],[429,"group-beast-terraformer-drone-glow"],[428,"group-terraformer-drone-explosion"],[416,"group-beast-foot-dust"],[1525,"group-mh-wasp-shot-hit"],[415,"group-beast-fall-dust"],[1524,"group-neo-juicer-shot-hit"],[414,"group-beast-hit"],[1523,"group-neo-grenadier-drip"],[413,"group-beast-grenade-glow"],[1522,"group-spydroid-orig-explode"],[412,"group-grenade-shot-explode-in-air"],[1521,"group-spydroid-orig-trail"],[411,"group-grenade-shot-explode"],[1520,"group-sew-laser-turret-casing"],[501,"group-arena-token-shadow"],[500,"group-arena-token-pickup"],[499,"group-arena-token"],[498,"group-wasstada-crowd-wedge"],[497,"group-part-wasstada-birds"],[496,"group-wasstada-bowl-fire"],[495,"group-wasstada-fire-big"],[494,"group-wasstada-fire"],[493,"group-wasstada-crucible-fire"],[492,"group-wasstada-lava-rocks-heat"],[491,"group-wasstada-lava-steam"],[490,"group-wasstada-lava-geyser-flame"],[489,"group-wasstada-lava-geyser-sploop"],[488,"group-wasstada-lava-sploop-box"],[487,"group-wasstada-lava-sploop"],[486,"group-wasstada-lava-flame"],[541,"group-maker-grenade-explosion-bottom"],[540,"group-maker-missile-explosion"],[539,"group-maker-grenade-explosion"],[538,"group-maker-explosion"],[537,"group-dm-flyer-missile"],[536,"group-dm-robot-splash"],[535,"group-dm-robot-ripple"],[534,"group-dm-robot-ambush"],[533,"group-skeet-splash"],[532,"group-skeet-explosion"],[235,"group-turret-explode"],[1344,"group-prebot-pillar-shatter"],[234,"group-turret-shot-hit"],[1343,"group-prebot-gun-shot-explosion"],[517,"group-pre-bubble-land-x"],[516,"group-pre-bubble-land-square"],[515,"group-pre-bubble-land-circle"],[514,"group-pre-bubble-land-triangle"],[513,"group-pre-bubble-birth-x"],[512,"group-pre-bubble-birth-square"],[511,"group-pre-bubble-birth-circle"],[510,"group-pre-bubble-birth-triangle"],[509,"group-pre-bubble-pop-x"],[508,"group-pre-bubble-pop-square"],[507,"group-pre-bubble-pop-circle"],[506,"group-pre-bubble-pop-triangle"],[505,"group-pre-bubble-x"],[504,"group-pre-bubble-square"],[503,"group-pre-bubble-circle"],[502,"group-pre-bubble-triangle"],[523,"group-player-leaper-ring-explode-final"],[522,"group-player-leaper-ring-explode"],[521,"group-leaper-ring-explode"],[520,"group-player-leaper-ring-final"],[519,"group-player-leaper-ring"],[518,"group-leaper-ring"],[524,"group-kanga-lizard-dust"],[410,"group-wasdoors-buggy-dust-skid"],[1519,"group-sew-laser-turret-smoke"],[485,"group-waswide-talltorch"],[484,"group-waswide-gaslamp"],[483,"group-part-wascitya-flies"],[482,"group-part-wascityb-birds"],[481,"group-part-water-wave-foam"],[480,"group-part-water-rocks-splash"],[479,"group-waswide-pump"],[478,"group-waswide-topdust"],[477,"group-waswide-steamvent"],[476,"group-waswide-chimney-small"],[475,"group-waswide-chimney-long-smoke"],[474,"group-waswide-chimney-double-smoke"],[473,"group-waswide-chimney-smoke"],[472,"group-waswide-chimney"],[471,"group-wascity-palace-fire-beacon"],[470,"group-day-star-fma"],[469,"group-wasteland-scenes-leaper-dust"],[468,"group-wascity-pre-game-res-text"],[467,"group-wascity-pre-game-crystal-creation"],[466,"group-wascity-pre-game-crystal-glow"],[465,"group-neo-satellite-explode-scene"],[464,"group-neo-satellite-buildup-scene"],[463,"group-sat-scrape-dirt"],[462,"group-sat-scrape-dust"],[461,"group-daxter-slide-dust"],[460,"group-wascity-pre-game-sat-sparks"],[459,"group-leaper-drool"],[458,"group-fma-daxter-impact-dust"],[457,"group-fma-leaper-dust"],[253,"group-ctywide-fruit"],[252,"group-msack-b-explode"],[251,"group-msack-a-explode"],[250,"group-mbasket-b-explode"],[249,"group-mbasket-a-explode"],[1358,"group-veger-staff-glow"],[248,"group-mcrate-explode"],[1357,"group-veger-staff-sparkles"],[238,"group-flut-attack-strike-ground"],[1347,"group-temp-3"],[237,"group-flut-trans-pad"],[1346,"group-temp-2"],[382,"group-wascity-burning-bush-holo-off"],[1491,"group-sew-wake-tiny"],[381,"group-wascity-burning-bush-holo-on"],[1490,"group-sew-wake-large"],[409,"group-tentacle-attack"],[1518,"group-sew-laser-turret-hit"],[408,"group-tentacle-warn"],[1517,"group-sewer-bubbles-daxter-pop"],[668,"group-temple-light-shaft"],[127,"group-eco-light-pill"],[384,"group-desert-buggy-dust-stop"],[1493,"group-sewer-waterfall-base-huge"],[667,"group-templea-medium-torch"],[126,"group-eco-green-pill-collect"],[383,"group-desert-buggy-dust"],[1492,"group-sewer-deep-mist"],[666,"group-templea-small-torch"],[125,"group-eco-green-pill"],[665,"group-temple-small-torch"],[124,"group-eco-green-collect"],[664,"group-temple-big-torch"],[123,"group-rod-of-god"],[1232,"group-des-cactus-explode"],[380,"group-desert-totem-eye-glow-pre"],[1489,"group-sew-wake-medium"],[663,"group-temple-candle"],[122,"group-talkbox-speak"],[1231,"group-des-big-cactus-explode"],[379,"group-desert-totem-eye-glow"],[1488,"group-sewer-waterfall-base-tube"],[662,"group-temple-interior-waterfall"],[121,"group-gun-dark-1-upgrade-shot"],[661,"group-temple-oracle-eyeglow"],[120,"group-gravity-gun-muzzle"],[119,"group-gravity-gun-rise-no-flare"],[118,"group-gravity-gun-rise"],[117,"group-gun-dark2-black-hole-glow"],[116,"group-gun-dark2-black-hole"],[115,"group-gun3-dark-scorched-earth"],[114,"group-gun-dark3-small"],[113,"group-gun-dark3-missile-trail-smoke"],[112,"group-gun-dark3-missile-trail"],[111,"group-gun-dark3-ring"],[110,"group-gun-dark3-stalk"],[109,"group-red-2-charge"],[108,"group-gun-blue3-shot-impact"],[107,"group-gun-blue-2-muzzle-flare"],[106,"gun-blue-muzzle-flare"],[105,"group-gun-green-shot-hit"],[104,"group-gun-dark-shot-hit"],[103,"group-gun-yellow-shot-die"],[102,"group-gun-yellow-shot-hit-object"],[101,"group-gun-yellow-shot-hit"],[100,"group-gun-yellow3-muzzle-smoke"],[99,"group-gun-yellow-shot-hit-object-3"],[639,"group-egg-spider-birth"],[98,"group-gun-yellow-shot-hit-3"],[638,"group-egg-spider-explosion"],[97,"group-gun-yellow-saucer-fizz"],[637,"group-mh-bat-jet-explosion"],[96,"group-gun-yellow-saucer-lights-dark"],[636,"group-mh-bat-explosion"],[95,"group-gun-yellow-saucer-lights"],[635,"group-mh-bat-charge-up"],[94,"group-gun-dark-shot-trail"],[634,"group-cocoon-grenade-shot"],[93,"group-jak-peacemaker-shot-hit"],[633,"group-cocoon-poison-gas-smoke"],[92,"group-gun-dark-shot-fired"],[632,"group-nest-green-light-glow"],[91,"group-gun-blue-shot-die"],[631,"group-nest-big-orange-light-glow"],[90,"group-gun-blue-shot-hit"],[630,"group-nest-orange-xmas-light-glow"],[89,"group-gun-red-3-scorched-earth"],[629,"group-nst-bridge-break-splash"],[88,"group-gun-red3-shot-explode"],[628,"group-nst-bridge-break-dust"],[87,"group-gun-red3-shot-glow"],[627,"group-turbo-ring-explode"],[86,"group-gun-red3-shot-fired"],[626,"group-turbo-ring"],[85,"group-gun-red-shot-reload"],[625,"group-part-nest-bats"],[84,"group-gun-red-shot-fired"],[624,"group-nest-mud-impact-rocks"],[83,"group-laser-glow"],[26,"group-just-poof-unk"],[1135,"group-farm-beetree-explode"],[25,"group-run-poof-unk"],[1134,"group-farm-marrow-explode"],[22,"group-land-poof-unk"],[1131,"group-ctyindb-steam-drift"],[623,"group-nest-ground-impact-rocks"],[82,"group-dark-maker-idol-eye-part"],[622,"group-nst-bridge-goo-explosion"],[81,"group-daxter-death-limb-zap"],[621,"group-nest-ground-impact-dust"],[80,"group-daxter-death-zap-smoke"],[620,"group-nest-ceiling-dust-2"],[79,"group-daxter-death-zap"],[619,"group-nest-ceiling-dust-1"],[78,"group-daxter-death-freeze"],[618,"group-nst-cocoon-c-explode"],[77,"group-darkjak-smack-hit"],[617,"group-cocoon-turret-hit"],[76,"group-darkjak-smack-wall-explode"],[616,"group-cocoon-turret-explosion"],[75,"group-darkjak-smack-charge"],[615,"group-cocoon-turret-glow"],[74,"group-darkjak-smack"],[614,"group-cocoon-big-egg-charge-up"],[73,"group-darkjak-smack-trail"],[613,"group-cocoon-big-egg-charge-down"],[72,"group-darkjak-transform"],[612,"group-cocoon-big-egg-glow"],[71,"group-darkjak-bomb"],[611,"group-nst-metalhead-egg-explode"],[70,"group-lightning-dark-shot-tip-hit-replace"],[69,"group-lightning-red-glow"],[68,"group-lightning-green-glow"],[67,"group-lightning-glow"],[66,"group-burn-death"],[65,"group-explode-death"],[64,"group-lava-death"],[63,"group-slime-death"],[29,"group-run-poof-snw"],[1138,"group-farm-chilirots-explode"],[28,"group-just-poof-stn"],[1137,"group-farm-small-cabbage-explode"],[27,"group-run-poof-stn"],[1136,"group-farm-cabbage-explode"],[24,"group-land-poof-pmt"],[1133,"group-ctyindb-tubes-smoke"],[23,"group-land-poof-stn"],[1132,"group-ctyindb-rising-steam"],[21,"group-land-poof-cwd"],[1130,"group-ctyindb-fast-steam"],[20,"group-land-poof-wod"],[1129,"group-ctyindb-bulb-red-glow-pulse"],[19,"group-land-poof-for"],[1128,"group-ctyindb-bulb-yellow-glow-b"],[18,"group-land-poof-grs"],[1127,"group-ctyindb-bulb-red-glow-b"],[17,"group-land-poof-ice"],[1126,"group-ctyindb-glowlite-yellow-glow-b"],[16,"group-land-poof-snw"],[1125,"group-ctyindb-rubble-smoke"],[15,"group-land-poof-drt"],[1124,"group-ctyind-rubble-crater-smoke"],[14,"group-land-poof-san"],[1123,"group-ctyindb-squarevent"],[30,"group-just-poof-snw"],[1139,"group-farm-sprinkler-barrels-water"],[542,"group-wc-turret-explode"],[1,"group-rain-screend-drop-real"],[1110,"group-ctyindb-sign-fashion-8x4"],[60,"group-slide-poof-wod"],[31,"group-just-footprint-snw"],[1140,"group-ctyfarma-light"],[543,"group-maker-damage-sparks"],[2,"group-stars"],[1111,"group-ctyindb-sign-praxis-banner-4x8"],[61,"group-slide-poof-cwd"],[32,"group-run-poof-ice"],[1141,"group-ctyfarma-drip-1"],[544,"group-maker-pre-explosion"],[3,"group-sun"],[1112,"group-ctyindb-sign-onin-knows-4x4"],[62,"group-dark-eco-death"],[545,"group-dm-final-explode"],[4,"group-green-sun"],[1113,"group-ctyindb-chimney"],[546,"group-wascity-turret-shot-hit"],[5,"group-moon"],[1114,"group-ctyindb-chimney-smoke"],[547,"group-wascity-turret-shot-hit-water"],[6,"group-day-star"],[1115,"group-ctyindb-chimney-small"],[548,"group-turret-reticle"],[7,"group-beach-launcher"],[1116,"group-ctyindb-red-big-lights-1"],[549,"group-turret-skeet"],[8,"group-jungle-launcher"],[1117,"group-ctyindb-red-big-lights-2"],[550,"group-maker-grenade-glow"],[9,"group-swamp-launcher"],[1118,"group-ctyindb-red-big-lights-3"],[551,"group-maker-grenade-shot-explode-far"],[10,"group-target-hit"],[1119,"group-ctyindb-red-big-lights-4"],[552,"group-maker-grenade-shot-explode"],[11,"group-spin-hit"],[1120,"group-ctyindb-red-big-lights-5"],[12,"group-punch-hit"],[1121,"group-ctyindb-red-big-lights-6"],[13,"group-smack-surface"],[1122,"group-ctyindb-smokestack"],[33,"group-just-poof-ice"],[1142,"group-ctyfarma-wall-bubbles"],[34,"group-run-poof-cwd"],[1143,"group-ctyfarmb-light"],[35,"group-just-poof-cwd"],[1144,"group-ctyfarmb-drip-1"],[36,"group-run-poof-wod"],[1145,"group-ctyfarmb-wall-bubbles"],[37,"group-just-poof-wod"],[38,"group-run-poof-pmt"],[39,"group-just-poof-pmt"],[40,"group-run-poof-grs"],[41,"group-just-poof-grs"],[42,"group-just-footprint-grs"],[43,"group-run-poof-for"],[44,"group-just-poof-for"],[45,"group-just-footprint-for"],[46,"group-run-poof-san"],[47,"group-just-poof-san"],[48,"group-just-footprint-san"],[49,"group-run-poof-drt"],[50,"group-just-poof-drt"],[51,"group-just-footprint-drt"],[52,"group-slide-poof-san"],[53,"group-slide-poof-drt"],[54,"group-slide-poof-grs"],[55,"group-slide-poof-for"],[56,"group-slide-poof-stn"],[57,"group-slide-poof-pmt"],[58,"group-slide-poof-snw"],[59,"group-slide-poof-ice"],[669,"group-tpl-watcher-exhaust-distort"],[128,"group-eco-dark-pill"],[385,"group-desert-buggy-dust-skid"],[1494,"group-sewer-waterfall-base-top"],[670,"group-tpl-watcher-laser-glow"],[129,"group-eco-green"],[386,"group-part-wascity-door-steam"],[1495,"group-sew-4-waterfalls"],[671,"group-tpl-watcher-laser-charge"],[130,"group-eco-dark-pill-move-collect"],[387,"group-part-wascity-door-pre-steam1"],[1496,"group-sew-moving-step-a-wake"],[672,"group-tpl-watcher-explosion"],[131,"group-generic-collect"],[388,"group-part-wascity-door-pre-steam2"],[1497,"group-sew-moving-step-b-wake"],[673,"group-tpl-break-door-a"],[132,"group-skill-glow-red"],[389,"group-part-wascity-door-big-steam1"],[1498,"group-sew-grate-bubbles"],[674,"group-tpl-break-door-explode"],[133,"group-skill-glow-yellow"],[390,"group-part-wascity-door-big-steam2"],[1499,"group-sewer-slide-froth"],[675,"group-tpl-break-alcove"],[134,"group-gem-glow"],[391,"group-part-wascity-door-big-pre-steam1"],[1500,"group-flyingsaw-sparks"],[676,"group-tpl-break-alcove-explode"],[135,"group-gem-collect"],[392,"group-part-wascity-door-big-pre-steam2"],[1501,"group-sew-fan-gust"],[677,"group-holo-halo"],[136,"group-ammo-yellow-collect"],[393,"group-wasdoors-gaslamp"],[1502,"group-sewer-rising-bubbles"],[678,"group-day-star-fma-temple"],[137,"group-ammo-red-collect"],[394,"group-wasdoors-red-lights"],[1503,"group-sewer-rising-bubbles-pop"],[679,"group-fma-egg-glow"],[138,"group-ammo-blue-collect"],[395,"group-elevator-palace-door"],[1504,"group-sewer-abyss-waterfall-mist"],[680,"group-fma-medallion-beam"],[139,"group-ammo-dark-collect"],[396,"group-elevator-palace-door-close"],[1505,"group-sew-laser-guard-hit"],[681,"group-fma-medallion-charge"],[140,"group-eco-dark-pill-collect"],[397,"group-desert-fireball-shot"],[1506,"group-sew-move-turret-hit-object"],[682,"group-temple-oracle-eye-glow"],[141,"group-green-collect"],[398,"group-desert-fireball-shot-trail"],[1507,"group-sew-move-turret-hit"],[142,"group-skate-point"],[399,"group-desert-fireball-explosion"],[1508,"group-sewer-water-trail"],[143,"group-skate-point-explode"],[400,"group-cloud-spread"],[1509,"group-sewer-water-trail-body"],[144,"group-part-vent-light-active"],[401,"group-desert-boss-slide-dust"],[1510,"group-sewer-water-trail-body-long"],[145,"group-part-vent-light-touched"],[402,"group-desert-final-boss-gate"],[1511,"group-sewer-water-splash"],[146,"group-part-vent-dark-active"],[403,"group-precursor-staff-shot-glow"],[1512,"group-sewer-water-edge-splash"],[147,"group-part-vent-dark-touched"],[404,"group-precursor-staff-shot"],[1513,"group-sewer-water-splash-jak"],[148,"group-part-vent-green-active"],[405,"group-precursor-staff-hit"],[1514,"group-sewer-water-splash-daxter"],[149,"group-placeholder-small"],[406,"group-ship-door-light"],[1515,"group-sewer-water-jak-rings"],[150,"group-placeholder-single"],[407,"group-mothership-thrusters"],[1516,"group-sewer-bubbles-daxter"],[151,"group-placeholder-multiple"],[152,"group-red-eco-strike-ground"],[153,"group-red-eco-spinkick"],[154,"group-eco-blue"],[155,"group-eco-blue-collect"],[156,"group-part-vent-blue-active"],[157,"group-part-vent-blue-inactive"],[158,"group-eco-red"],[159,"group-eco-red-collect"],[160,"group-part-vent-red-active"],[702,"group-waspala-waterfall-top"],[161,"group-part-vent-red-inactive"],[703,"group-waspala-waterfall-base"],[162,"group-part-vent-yellow-active"],[704,"group-waspala-waterwheel-up"],[163,"group-part-vent-yellow-inactive"],[705,"group-waspala-waterwheel-base"],[164,"group-eco-yellow"],[706,"group-waspala-small-waterwheel-up"],[165,"group-eco-yellow-collect"],[707,"group-waspala-small-waterwheel-base"],[166,"group-fuel-cell-starburst"],[708,"group-waspala-water-dripping"],[167,"group-money-starburst"],[709,"group-waspala-water-spout1"],[168,"group-buzzer-effect"],[710,"group-waspala-water-spout2"],[169,"group-blue-collect"],[711,"group-waspala-water-spout3"],[170,"group-yellow-collect"],[712,"group-waspala-water-spout4"],[171,"group-red-collect"],[713,"group-waspala-water-splash1"],[172,"group-darkjak-hadouken"],[714,"group-waspala-water-splash2"],[173,"group-darkjak-hadouken-trail"],[715,"group-waspala-water-splash3"],[174,"group-lightjak-get-on-charge"],[716,"group-waspala-water-splash4"],[175,"group-lightjak-get-on"],[717,"group-waspala-wallfire"],[176,"group-lightjak-get-off"],[718,"group-waspala-hanging-fire"],[177,"group-lightjak-regen"],[719,"group-waspala-crucible-fire"],[178,"group-lightjak-shield-start"],[720,"group-waspala-gargle-bubbles"],[179,"group-lightjak-shield-hit"],[721,"group-waspala-water-daxter-ring"],[180,"group-lightjak-freeze-hands"],[722,"group-waspala-water-jak-ring"],[181,"group-lightjak-freeze-burst"],[723,"group-waspala-hands-water-trail"],[182,"group-idol-activate"],[724,"group-waspala-farticle-bubbles"],[183,"group-lightning-dark-shot-tip-hit"],[189,"group-board-land-straight"],[190,"group-board-quick-jump"],[191,"group-board-launch"],[727,"group-fma-daxter-swim-ripples"],[186,"group-target-board-duck-charge"],[726,"group-damus-hand-sand"],[185,"group-target-board"],[725,"group-waspala-squeeze-water"],[184,"group-board-spin-attack"],[188,"group-board-zap-attack"],[187,"group-board-green-eco-zap-attack"],[192,"group-part-water-splash"],[193,"group-part-water-splash-small"],[194,"group-blue-hit-ground-effect"],[195,"group-crate-explode"],[196,"group-crate-steel-explode"],[197,"group-dark-eco-box-explosion"],[198,"group-part-tester"],[199,"group-debug-placeholder-small"],[200,"group-debug-placeholder-single"],[201,"group-debug-placeholder-multiple"],[202,"group-warpgate"],[203,"group-airtrain-dust-plume"],[204,"group-airtrain-dust-hover"],[205,"group-airtrain-thruster"],[206,"group-airtrain-thruster-off"],[207,"group-warp-hellcat-thruster"],[208,"group-warp-fma-dust-takeoff"],[209,"group-warp-fma-drop-thrusters"],[210,"group-warp-thruster-trail"],[211,"group-guard-shot-hit-object"],[212,"group-guard-shot-hit"],[213,"group-guard-grenade"],[214,"group-metalhead-shot-hit"],[215,"group-metalhead-shot-die"],[216,"group-metalhead-grenade-shot"],[217,"group-kg-huge-explosion"],[218,"group-kg-big-explosion"],[219,"group-kg-explosion"],[220,"group-kg-mid-explosion"],[221,"group-kg-small-explosion"],[224,"group-vehicle-explosion"],[225,"group-vehicle-engine-start"],[1334,"group-prebot-launch-critter"],[226,"group-part-wv-water-splash"],[1335,"group-prebot-gun-shot-trail"],[227,"group-gun-scorp-shells"],[1336,"group-prebot-eco-pillar-heat-up"],[228,"group-gun-scorp-shot-hit"],[1337,"group-prebot-eco-pillar-grow"],[229,"group-gun-scorp-shot-die"],[1338,"group-prebot-eco-pillar-cool-down"],[230,"group-toad-grenade-shot-explode"],[1339,"group-prebot-stuck-flame"],[231,"group-turbo-pickup"],[1340,"group-prebot-chasm-explosion"],[232,"group-turbo-pickup-explode"],[1341,"group-final-prebot-chasm-explosion"],[683,"group-temple-oracle-eye-open"],[684,"group-fma-lightjak-regen"],[685,"group-tpl-token-trail"],[686,"group-tpl-token"],[687,"group-tpl-token-pickup"],[688,"group-tpl-symbol"],[689,"group-tpl-symbol-touched"],[700,"group-temple-bridge-break-dust"],[701,"group-temple-bridge-break-kaboom"],[690,"group-templex-big-torch"],[691,"group-templex-fire-vase"],[692,"group-templex-fire-vase-large"],[693,"group-templex-fire-vase-small"],[694,"group-temple-waterfall-mist-fall"],[695,"group-temple-waterfall-splash"],[696,"group-temple-waterfall-mist-up"],[697,"group-temple-waterfall-mist-rainbow"],[698,"group-temple-break-dust"],[699,"group-temple-break-dust-trail"],[652,"group-glider-ring"],[653,"group-glider-ring-shootable"],[654,"group-distant-glider-ring"],[655,"group-glider-ring-explode"],[656,"group-wind-thermal"],[657,"group-glider-cloud"],[658,"group-glider-cloud-shadow"],[659,"group-volcano-smoke"],[660,"group-glider-blinking-dot"],[233,"group-indax-lava-death"],[1342,"group-prebot-chasm-explosion-comets"],[1386,"group-volcano-embers"],[277,"group-ctyind-rubble-smoke"],[1387,"group-volcano-lantern-glow"],[278,"group-ctyind-electric-arc"],[1388,"group-lava-shoot"],[279,"group-ctyslum-red-wall-light"],[1389,"group-volcano-lava-ripples"],[280,"group-ctyslum-blue-wall-light"],[1390,"group-volcano-lava-bubbles"],[281,"group-ctyslum-long-blue-light"],[1391,"group-volcano-lava-splash"],[282,"group-ctyslum-long-blue-lightb"],[1392,"group-lavawave-falls"],[283,"group-ctyslum-streetlight"],[1393,"group-volcano-lava-rocks-heat"],[284,"group-ctyslum-lamp-glow"],[1394,"group-steam-geyser-shoot"],[285,"group-ctyslum-yellow-light"],[1395,"group-lava-ball-spout"],[286,"group-ctyslum-steam-vent"],[1396,"group-volcano-leaf-fall"],[287,"group-ctyport-bulb-orange-glow"],[1397,"group-vol-lava-ball"],[288,"group-ctywide-green-chimney-smoke"],[1398,"group-vol-break-ground"],[289,"group-ctyslum-heater-haze"],[1399,"group-monk-mummy-finger-dust"],[290,"group-ctyslum-fan-haze"],[1400,"group-fma-idol-eye-glow"],[291,"group-ctyslum-small-fountain"],[1401,"group-fma-idol-break"],[292,"group-ctyslum-big-fountain"],[1402,"group-volcano-rock-break-dust"],[293,"group-ctyslum-big-fountain-top"],[1403,"group-volcano-rock-land-dust"],[294,"group-ctyslum-big-fountain-top-light"],[1404,"group-fma-lava-splash"],[295,"group-ctyslum-barrel-fire"],[1405,"group-mantis-dust-puff"],[296,"group-hijack-kgpickup-explode"],[1406,"group-mantis-birth-nest"],[297,"group-mh-tower-smoke-cty"],[1407,"group-vol-holo-halo"],[298,"group-pickup-sparks"],[1408,"group-volcano-glider-dust"],[299,"group-mhcity-door-explode"],[1409,"group-volcano-glider-dust-ground"],[300,"group-barrier-hand-shock"],[1410,"group-land-jak-volcano"],[301,"group-metal-head-egg-explosion"],[1411,"group-volcanox-lantern-glow"],[302,"group-fma-dark-eco-steam"],[257,"group-flitter-dust-puff"],[1412,"group-flitter-birth"],[303,"group-fma-hand-steam"],[597,"group-minb-light-glow"],[598,"group-min-target-sign-off"],[599,"group-min-target-sign-on"],[600,"group-minc-round-light-glow-always-on"],[601,"group-minc-round-light-glow"],[602,"group-minc-t-light-glow-always-on"],[603,"group-minc-t-light-glow"],[604,"group-bomb-train-explode"],[605,"group-bomb-train-sparks"],[606,"group-bomb-train-smoke"],[607,"group-bomb-train-light"],[608,"group-min-elec-gate"],[609,"group-min-door-explode"],[610,"group-min-door-trailer"],[1345,"group-temp-1"],[1348,"group-temp-4"],[1349,"group-temp-5"],[1350,"group-temp-6"],[254,"part-crimson-lightning-glow"],[258,"group-ctywide-stadium-light"],[259,"group-ctywide-baron-propoganda-holo"],[260,"group-ctywide-burning-bush-holo-on"],[261,"group-ctywide-burning-bush-holo-off"],[262,"group-ctywide-burning-bush-holo-red"],[263,"group-ctywide-palace-high-fire"],[264,"group-ctywide-misc-citylights-red-1"],[265,"group-ctywide-misc-citylights-red-2"],[266,"group-ctywide-misc-citylights-red-3"],[267,"group-ctywide-misc-citylights-red-4"],[268,"group-ctywide-misc-citylights-blue-1"],[269,"group-ctywide-misc-citylights-blue-2"],[270,"group-ctywide-misc-citylights-blue-3"],[271,"group-ctywide-cable-lights"],[272,"group-slums-seal-of-mar-glow"],[273,"group-ctywide-chimney"],[274,"group-ctywide-chimney-smoke"],[275,"group-ctyind-sparks"],[276,"group-ctyind-hot-gas"],[304,"group-fma-dark-eco-fire"],[1413,"group-gun-dummy-sparks"],[305,"group-fma-dark-eco-fire-flash"],[1414,"group-dummy-explode-cit-a"],[306,"group-fma-cigar-smoke"],[1415,"group-dummy-explode-cit-b"],[307,"group-fma-city-barrier-explosion-big"],[1416,"group-dummy-explode-cit-c"],[308,"group-cara-thrusters"],[1417,"group-dummy-explode-cit-d"],[309,"group-truck-explosion"],[1418,"group-dummy-explode-kg-big"],[310,"group-mhcity-window-glow"],[1419,"group-dummy-explode-kg-b"],[311,"group-mhcity-eye-large-glow"],[1420,"group-dummy-explode-kg-c"],[312,"group-mhcity-eye-small-glow"],[1421,"group-dummy-explode-kg-gun"],[313,"group-mhcity-eye-building-glow"],[1422,"group-dummy-explode-bomb-spider-shatter"],[314,"group-mhcity-eye-smallest-glow"],[1423,"group-dummy-explode-kg-bonus"],[315,"group-mhcity-green-chimney-smoke"],[1424,"group-dummy-explode-bomb-spider-explode"],[316,"group-mhcity-door-steam"],[1425,"group-gun-dummy-shield-explode"],[317,"group-mhcity-upper-ground-vent"],[1426,"group-gungame-vent"],[318,"group-mhcity-coping-vent"],[1427,"group-gungame-overhead-lights"],[319,"group-puffer-hard-blowing-steam"],[1428,"group-gungame-pipespew"],[320,"group-mhcity-goo-wall-bubbles"],[1429,"group-gungame-blue-lights"],[321,"group-mhcity-goo-small-bubbles"],[1430,"group-fma-daxter-guncourse-slide-dust"],[322,"group-mhcity-goo-medium-bubbles"],[1431,"group-fma-daxter-guncourse-land-dust"],[323,"group-mhcity-goo-bubbles-boogers"],[324,"group-mhcity-goo-bubbles-boogers-single"],[325,"group-puffer-egg-explode"],[326,"group-mhcity-nodule-hit"],[327,"group-mhcity-door-break-door-bust"],[328,"group-mhcity-dark-eco-door"],[329,"group-krimson-wall"],[929,"group-ctygenb-barrel-fire"],[930,"group-ctygenb-ground-vent-base"],[931,"group-ctygenb-ground-light"],[932,"group-ctygenb-red-light-small"],[933,"group-ctygenb-blue-light-wall"],[934,"group-ctygenb-blue-street-lamp"],[935,"group-ctygenb-steady-street-lamp"],[936,"group-ctygenb-flickering-street-lamp"],[937,"group-ctygenb-blue-vents-pipe-bent"],[938,"group-ctygenb-blue-vents-wall"],[939,"group-ctygenb-sign-8x4"],[940,"group-ctygenb-sign-4x8"],[941,"group-ctygenb-sign-4x4"],[942,"group-ctygenb-ticker-horizontal"],[943,"group-ctygenb-ticker-vertical"],[944,"group-ctygenb-ground-vent-square"],[945,"group-ctygenb-under-bridge-light"],[946,"group-ctygenb-flickering-under-bridge-light"],[947,"group-ctygenb-rubble-smoke"],[948,"group-ctygenb-rubble-crater-smoke"],[949,"group-ctygenb-sparks"],[950,"group-rubble-sparks-large"],[1078,"group-ctyinda-tri-red-light"],[1079,"group-ctyinda-tri-yellow-light"],[1080,"group-ctyinda-red-lights"],[1081,"group-ctyinda-blue-lights"],[1082,"group-ctyinda-wide-glows-yellow"],[1083,"group-ctyinda-sign-fashion-8x4"],[1084,"group-ctyinda-sign-praxis-banner-4x8"],[1085,"group-ctyinda-sign-onin-knows-4x4"],[1086,"group-ctyinda-chimney"],[1087,"group-ctyinda-chimney-smoke"],[1088,"group-ctyinda-chimney-small"],[1089,"group-ctyinda-red-big-lights-1"],[1090,"group-ctyinda-red-big-lights-2"],[1091,"group-ctyinda-red-big-lights-3"],[1092,"group-ctyinda-red-big-lights-4"],[1093,"group-ctyinda-red-big-lights-5"],[1094,"group-ctyinda-red-big-lights-6"],[1095,"group-ctyinda-smokestack"],[1096,"group-ctyinda-squarevent"],[1097,"group-ctyinda-bulb-red-glow"],[1098,"group-ctyinda-bulb-red-glow-pulse"],[1099,"group-ctyinda-glowlite-yellow-glow"],[1100,"group-ctyinda-fast-steam"],[1101,"group-ctyinda-rising-steam"],[1102,"group-ctyinda-steam-drift"],[1103,"group-ctyinda-red-floor-vent"],[1104,"group-ctyindb-red-floor-vent"],[1105,"group-ctyindb-red-lights"],[1106,"group-ctyindb-tri-red-light"],[1107,"group-ctyindb-tri-yellow-light"],[1108,"group-ctyindb-blue-lights"],[1109,"group-ctyindb-wide-glows-yellow"],[1030,"group-ctyport-roundvent"],[1031,"group-ctyport-roundvent-small"],[1032,"group-ctyport-low-vent"],[1033,"group-ctyport-waterspout"],[1034,"group-ctyport-chimney"],[1035,"group-ctyport-chimney-smoke"],[1036,"group-ctyport-drip"],[1037,"group-ctyport-blue-floor-vent"],[1038,"group-ctyport-blue-floor-vent-small"],[1039,"group-ctyport-red-big-lights-1"],[1040,"group-ctyport-red-big-lights-2"],[1041,"group-ctyport-red-big-lights-3"],[1042,"group-ctyport-red-big-lights-4"],[1043,"group-ctyport-red-big-lights-5"],[1044,"group-ctyport-red-big-lights-6"],[1045,"group-ctyport-blue-big-lights-1"],[1046,"group-ctyport-blue-big-lights-2"],[1047,"group-ctyport-blue-big-lights-3"],[1048,"group-ctyport-blue-big-lights-4"],[1049,"group-ctyport-blue-big-lights-5"],[1050,"group-ctyport-blue-big-lights-6"],[1051,"group-ctyport-red-lights"],[1052,"group-ctyport-blue-lights"],[1053,"group-ctyport-long-blue-lights"],[1054,"group-ctyport-green-lights"],[1055,"group-ctyport-green-lights-2"],[1056,"group-ctyport-sign-arrows-8x4"],[1057,"group-ctyport-hiphog-marquee-daxter"],[1058,"group-ctyport-rubble-crater-smoke"],[1059,"group-ctyport-wreckage-smoke"],[1061,"group-ctyport-blinking-red-glow"],[1062,"group-ctyport-citylights-blue-1"],[1063,"group-ctyport-citylights-blue-2"],[1064,"group-ctyport-citylights-blue-3"],[1065,"group-ctyport-citylights-blue-4"],[1066,"group-ctyport-rubble-fire"],[1067,"group-ctyport-red-tits-glow"],[1068,"group-ctyport-yellow-glow-pulse"],[1069,"group-ctyport-blue-glow"],[1070,"group-fma-missile-launch-thruster"],[1071,"group-fma-missile-launch-trail"],[1072,"group-krimson-wall-fma"],[1073,"group-scenes-daxter-crush-dust"],[1074,"group-fma-missile-thruster-fire"],[1075,"group-hijak-fma-missile-trail"],[1076,"group-daxter-sign-explosion"],[1077,"group-fma-barrier-explosion-big"],[951,"group-ctysluma-barrel-fire"],[952,"group-ctysluma-streetlight-glows"],[953,"group-ctysluma-steamescape"],[954,"group-ctysluma-steam-drift"],[955,"group-ctysluma-steamvent"],[956,"group-ctysluma-shootout-fire-blue"],[957,"group-ctysluma-shootout-fire-red"],[958,"group-ctyslum-rubble-crater-smoke"],[959,"group-ctyslum-rubble-smoke"],[960,"group-ctyslum-rubble-smoke-lit"],[961,"group-ctyslum-rubble-fire"],[962,"group-ctysluma-spray"],[963,"group-ctysluma-spray-check-userdata-8"],[964,"group-ctysluma-chimney"],[965,"group-ctysluma-chimney-smoke"],[966,"group-ctysluma-sign-m5-8x4"],[967,"group-ctysluma-sign-metalhead-8x4"],[968,"group-ctysluma-sign-crimson-4x8"],[969,"group-ctysluma-sign-doctors-4x4"],[970,"group-ctysluma-sign-hiphog-4x4"],[971,"group-ctysluma-sign-blank-4x4"],[972,"group-neon-baron"],[973,"group-ctyslumb-barrel-fire"],[974,"group-ctyslumb-streetlight-glows"],[975,"group-ctyslumb-chimney"],[976,"group-ctyslumb-chimney-smoke"],[977,"group-sign-ctyslumb-square-a"],[978,"group-sign-ctyslumb-square-b"],[979,"group-sign-ctyslumb-wide-a"],[980,"group-sign-ctyslumb-wide-b"],[981,"group-sign-ctyslumb-tall-a"],[982,"group-sign-ctyslumb-tall-b"],[983,"group-ctyslumb-steamescape"],[984,"group-ctyslumb-spray"],[985,"group-ctyslumb-spray-check-userdata-8"],[986,"group-ctyslumc-streetlight-glows"],[987,"group-ctyslumc-chimney"],[988,"group-ctyslumc-chimney-smoke"],[989,"group-sign-ctyslumc-big-a"],[990,"group-sign-ctyslumc-big-b"],[991,"group-sign-ctyslumc-square-a"],[992,"group-sign-ctyslumc-square-b"],[993,"group-sign-ctyslumc-wide-a"],[994,"group-sign-ctyslumc-wide-b"],[995,"group-sign-ctyslumc-tall-a"],[996,"group-sign-ctyslumc-tall-b"],[997,"group-gunship-target-explode"],[913,"group-onin-candle"],[914,"group-onin-octopus-tank-bubbles"],[915,"group-onin-big-tank-bubbles"],[916,"group-onin-medium-tank-bubbles"],[917,"group-onin-short-tank-bubbles"],[918,"group-onin-mini-tank-bubbles"],[919,"group-onin-flashpot"],[920,"group-onin-heatpot"],[921,"group-onin-tiki"],[922,"group-onin-bird-top"],[923,"group-onin-bird-cage"],[924,"group-onin-bugs"],[925,"group-onin-clap-effect"],[926,"group-onin-big-clap-effect"],[927,"group-onin-finger-effect"],[928,"group-onin-small-finger-effect"],[870,"group-vinroom-monitor-sparks"],[871,"group-vinroom-console-1"],[872,"group-vinroom-console-2"],[873,"group-vinroom-tv-matrix"],[874,"group-vinroom-tv-code"],[875,"group-vinroom-tv-2dcode"],[876,"group-vinroom-tv-dots"],[877,"group-vinroom-tv-bargraph"],[878,"group-vinroom-tv-numbers"],[879,"group-vinroom-tv-radar"],[880,"group-vinroom-tv-threebar-1"],[881,"group-vinroom-tv-threebar-2"],[882,"group-vinroom-tv-threebar-3"],[883,"group-vinroom-tv-splitdots"],[884,"group-vinroom-tv-smallradar"],[885,"group-vinroom-tv-final"],[886,"group-vinroom-center-sphere"],[887,"group-vinroom-console-little-red-light-1"],[888,"group-vinroom-console-little-red-light-2"],[889,"group-vinroom-console-little-red-light-3"],[890,"group-vinroom-console-little-red-light-4"],[891,"group-vinroom-console-little-red-light-5"],[892,"group-vinroom-console-little-red-light-6"],[893,"group-vinroom-console-little-red-light-7"],[894,"group-vinroom-console-little-red-light-8"],[895,"group-vinroom-console-blue-light-1"],[896,"group-vinroom-console-blue-light-2"],[897,"group-vinroom-console-blue-light-3"],[898,"group-vinroom-console-blue-light-4"],[899,"group-vinroom-console-blue-light-5"],[900,"group-vinroom-console-blue-light-6"],[901,"group-vinroom-console-blue-light-7"],[902,"group-vinroom-console-blue-light-8"],[903,"group-vinroom-console-orb"],[904,"group-vinroom-console-top-panel"],[905,"group-vinroom-red-wall-lights"],[906,"group-vinroom-red-wall-lights-small"],[907,"group-switcher-charge"],[908,"group-switcher-die"],[909,"group-glyph-charge"],[910,"group-glyph-die"],[911,"group-player-die"],[912,"group-power-scoreboard-points"],[848,"group-hiphog-blue-glow"],[849,"group-hiphog-rtablea"],[850,"group-hiphog-rtableb"],[851,"group-hiphog-rtablec"],[852,"group-hiphog-bigtable"],[853,"group-hiphog-center-sphere"],[854,"group-cigar-glow"],[855,"group-cigar-smoke"],[856,"group-cigar-smoke-blow"],[857,"group-cigar-ashes"],[858,"group-cigar-ashes-spit"],[859,"group-hiphog-red-light"],[860,"group-hiphog-ceiling-light"],[861,"group-hiphog-booth-ceiling-light"],[862,"group-hiphog-booth-wall-light"],[863,"group-hiphog-bar-light"],[864,"group-hiphog-booth-table-light"],[865,"group-hiphog-floor-light"],[866,"group-hiphog-neon-clock"],[867,"group-hiphog-neon-clock-small"],[868,"group-hiphog-mirror"],[869,"group-fma-hiphog-holo-glow"],[808,"group-freehq-center-sphere"],[809,"group-freehq-smalla"],[810,"group-freehq-smallb"],[811,"group-freehq-smallc"],[812,"group-freehq-smalld"],[813,"group-freehq-rtablea"],[814,"group-freehq-rtableb"],[815,"group-freehq-rtablec"],[816,"group-freehq-rtabled"],[817,"group-freehq-mediuma"],[818,"group-freehq-mediumb"],[819,"group-freehq-mediumc"],[820,"group-freehq-mediumd"],[821,"group-freehq-biga"],[822,"group-freehq-bigb"],[823,"group-freehq-bigc"],[824,"group-freehq-giant"],[825,"group-freehq-bigtable"],[826,"group-freehq-console-green-light-1"],[827,"group-freehq-console-green-light-2"],[828,"group-freehq-console-green-light-3"],[829,"group-freehq-console-green-light-4"],[830,"group-freehq-console-green-light-5"],[831,"group-freehq-console-green-light-6"],[832,"group-freehq-console-green-light-7"],[833,"group-freehq-console-green-light-8"],[834,"group-freehq-console-blue-light-1"],[835,"group-freehq-console-blue-light-2"],[836,"group-freehq-console-blue-light-3"],[837,"group-freehq-console-blue-light-4"],[838,"group-freehq-console-blue-light-5"],[839,"group-freehq-console-blue-light-6"],[840,"group-freehq-console-blue-light-7"],[841,"group-freehq-console-blue-light-8"],[842,"group-freehq-red-wall-light"],[843,"group-freehq-white-wall-light-top"],[844,"group-freehq-white-wall-light-bottom"],[845,"group-freehq-red-wall-lights"],[846,"groupfreehq-onin-finger-effect"],[847,"groupfreehq-onin-small-finger-effect"],[223,"group-roboguard-armor-explode"],[558,"group-robo-gun-smoke"],[559,"group-robo-gun-casing"],[560,"group-robo-engine"],[1526,"group-mh-wasp-shot-die"],[561,"group-plant-seed-explode"],[562,"group-plant-spore-explode"],[563,"group-plant-seed-tunnel"],[564,"group-neo-egg-explode"],[565,"group-neo-spawner-explode"],[566,"group-neo-spawner-spit"],[567,"group-neo-spawner-dead"],[568,"group-forest-leaf-fall"],[569,"group-forest-leaf-fall-water"],[570,"group-forest-leaf-water-hit"]] diff --git a/decompiler/decompilation_process.cpp b/decompiler/decompilation_process.cpp index 89b3c1b6fa..569ce91b78 100644 --- a/decompiler/decompilation_process.cpp +++ b/decompiler/decompilation_process.cpp @@ -165,6 +165,10 @@ int run_decompilation_process(decompiler::Config config, return 1; } + if (config.process_part_group_table && !config.part_group_table.empty()) { + db.dts.part_group_table = config.part_group_table; + } + if (config.process_tpages && !config.texture_info_dump.empty()) { db.dts.textures = config.texture_info_dump; } @@ -190,6 +194,10 @@ int run_decompilation_process(decompiler::Config config, db.dump_art_info(out_folder); } + if (config.dump_part_group_table) { + db.dump_part_group_table(out_folder, config.part_group_table); + } + if (config.hexdump_code || config.hexdump_data) { db.write_object_file_words(out_folder, config.hexdump_data, config.hexdump_code); } diff --git a/decompiler/util/DecompilerTypeSystem.h b/decompiler/util/DecompilerTypeSystem.h index b57a5dbdd8..aea85f5a16 100644 --- a/decompiler/util/DecompilerTypeSystem.h +++ b/decompiler/util/DecompilerTypeSystem.h @@ -40,6 +40,7 @@ class DecompilerTypeSystem { std::unordered_map> art_group_info; std::unordered_map> jg_info; std::unordered_map textures; + std::unordered_map part_group_table; void add_symbol(const std::string& name) { if (symbols.find(name) == symbols.end()) { diff --git a/goal_src/jak1/engine/common-obs/collectables.gc b/goal_src/jak1/engine/common-obs/collectables.gc index 36b21fd480..efa07e57ce 100644 --- a/goal_src/jak1/engine/common-obs/collectables.gc +++ b/goal_src/jak1/engine/common-obs/collectables.gc @@ -132,32 +132,32 @@ (set! (-> this sound-name) #f) (case arg0 (((pickup-type eco-yellow)) - (set! (-> this eco-effect) (-> *part-group-id-table* 56)) - (set! (-> this collect-effect) (-> *part-group-id-table* 68)) - (set! (-> this collect-effect2) (-> *part-group-id-table* 57)) + (set! (-> this eco-effect) group-eco-yellow) + (set! (-> this collect-effect) group-yellow-collect) + (set! (-> this collect-effect2) group-eco-yellow-collect) (set! (-> this collect-effect-time) (seconds 0.5)) (set! (-> this sound-name) (static-sound-spec "yel-eco-idle" :fo-max 15))) (((pickup-type eco-red)) - (set! (-> this eco-effect) (-> *part-group-id-table* 48)) - (set! (-> this collect-effect) (-> *part-group-id-table* 69)) - (set! (-> this collect-effect2) (-> *part-group-id-table* 49)) + (set! (-> this eco-effect) group-eco-red) + (set! (-> this collect-effect) group-red-collect) + (set! (-> this collect-effect2) group-eco-red-collect) (set! (-> this collect-effect-time) (seconds 0.5)) (set! (-> this sound-name) (static-sound-spec "red-eco-idle" :fo-max 15))) (((pickup-type eco-blue)) - (set! (-> this eco-effect) (-> *part-group-id-table* 42)) - (set! (-> this collect-effect) (-> *part-group-id-table* 67)) - (set! (-> this collect-effect2) (-> *part-group-id-table* 43)) + (set! (-> this eco-effect) group-eco-blue) + (set! (-> this collect-effect) group-blue-collect) + (set! (-> this collect-effect2) group-eco-blue-collect) (set! (-> this collect-effect-time) (seconds 0.5)) (set! (-> this sound-name) (static-sound-spec "blue-eco-idle" :fo-max 15))) (((pickup-type eco-green)) - (set! (-> this eco-effect) (-> *part-group-id-table* 58)) - (set! (-> this collect-effect) (-> *part-group-id-table* 66)) - (set! (-> this collect-effect2) (-> *part-group-id-table* 61)) + (set! (-> this eco-effect) group-eco-green) + (set! (-> this collect-effect) group-green-collect) + (set! (-> this collect-effect2) group-eco-green-collect) (set! (-> this collect-effect-time) (seconds 0.5)) (set! (-> this sound-name) (static-sound-spec "green-eco-idle" :fo-max 15))) (((pickup-type eco-pill)) - (set! (-> this eco-effect) (-> *part-group-id-table* 59)) - (set! (-> this collect-effect2) (-> *part-group-id-table* 60)) + (set! (-> this eco-effect) group-eco-green-pill) + (set! (-> this collect-effect2) group-eco-green-pill-collect) (set! (-> this collect-effect-time) (seconds 0.5)))) (set! (-> this part) (create-launch-control (-> this eco-effect) this)) (if (-> this sound-name) (set! (-> this sound) (new 'process 'ambient-sound (-> this sound-name) (-> this root trans)))) @@ -223,7 +223,7 @@ (when v1-3 (let ((a0-5 (-> self root root-prim prim-core)) (a1-2 (-> (the-as collide-shape v1-3) root-prim prim-core))) - (if (< (vector-vector-distance (the-as vector a0-5) (the-as vector a1-2)) (-> *FACT-bank* suck-suck-dist)) + (if (< (vector-vector-distance (-> a0-5 world-sphere) (-> a1-2 world-sphere)) (-> *FACT-bank* suck-suck-dist)) (logior! (-> self flags) (collectable-flags suck)))))))) (none)) @@ -236,8 +236,8 @@ (when v1-6 (let ((s2-0 (-> self root root-prim prim-core)) (gp-2 (-> v1-6 root-prim prim-core))) - (if (and arg1 (rand-vu-percent? (the-as float 0.25))) (eco-blue-glow (the-as vector s2-0))) - (let ((f0-0 (vector-vector-distance (the-as vector s2-0) (the-as vector gp-2)))) + (if (and arg1 (rand-vu-percent? (the-as float 0.25))) (eco-blue-glow (-> s2-0 world-sphere))) + (let ((f0-0 (vector-vector-distance (-> s2-0 world-sphere) (-> gp-2 world-sphere)))) (cond ((and arg3 (< f0-0 8192.0)) (return #t)) ((begin @@ -250,16 +250,16 @@ (+! (-> self speed w) (* 163840.0 (seconds-per-frame))) (+! (-> self speed y) (* 291271.12 (seconds-per-frame))) (set! (-> self speed y) (fmin (fmin 291271.12 (-> self speed y)) (-> self speed y))) - (let ((s5-2 (vector-! (new 'stack-no-clear 'vector) (-> self base) (the-as vector gp-2)))) + (let ((s5-2 (vector-! (new 'stack-no-clear 'vector) (-> self base) (-> gp-2 world-sphere)))) (vector-normalize! s5-2 (fmax 0.0 (- (vector-length s5-2) (* (-> self speed w) (seconds-per-frame))))) (vector-rotate-y! s5-2 s5-2 (* (-> self speed y) (-> self speed z) (seconds-per-frame))) (set! (-> self suck-y-offset) (* 2048.0 (sin (* 873.81335 (the float (mod (- (current-time) (-> self suck-time)) 75)))))) - (vector+! (-> self base) (the-as vector gp-2) s5-2))) + (vector+! (-> self base) (-> gp-2 world-sphere) s5-2))) ((and arg2 (and (< (+ 4096.0 (-> *FACT-bank* suck-bounce-dist)) f0-0) (not (logtest? (-> self flags) (collectable-flags suck))))) (go-virtual wait)) - (arg1 (add-blue-shake (-> self root trans) (the-as vector s2-0) (the-as vector gp-2)))))))))) + (arg1 (add-blue-shake (-> self root trans) (-> s2-0 world-sphere) (-> gp-2 world-sphere)))))))))) #f) (defstate blocked (eco-collectable) @@ -393,7 +393,7 @@ (logior! (-> self flags) (collectable-flags fading)) (logior! (-> self state-flags) (state-flags fade-out-particles)) (set! (-> gp-0 fade) (* 0.0033333334 (the float v1-10))))))) - (spawn gp-0 (the-as vector s5-0))) + (spawn gp-0 (-> s5-0 world-sphere))) (if (nonzero? (-> self sound)) (update! (-> self sound))) (suspend)))) @@ -437,7 +437,7 @@ (if (nonzero? (-> self draw)) (ja-post)) (let ((a0-5 (-> self part)) (a1-1 (-> self root root-prim prim-core))) - (if (nonzero? a0-5) (spawn a0-5 (the-as vector a1-1)))) + (if (nonzero? a0-5) (spawn a0-5 (-> a1-1 world-sphere)))) (if (nonzero? (-> self sound)) (update! (-> self sound))) (suspend)))) @@ -541,7 +541,7 @@ (defmethod animate ((this eco)) (let ((a0-1 (-> this part)) (a1-0 (-> this root root-prim prim-core))) - (spawn a0-1 (the-as vector a1-0))) + (spawn a0-1 (-> a1-0 world-sphere))) (if (nonzero? (-> this sound)) (update! (-> this sound))) 0 (none)) @@ -601,7 +601,7 @@ (defmethod animate ((this health)) (let ((a0-1 (-> this part)) (a1-0 (-> this root root-prim prim-core))) - (spawn a0-1 (the-as vector a1-0))) + (spawn a0-1 (-> a1-0 world-sphere))) (if (nonzero? (-> this sound)) (update! (-> this sound))) 0 (none)) @@ -616,7 +616,7 @@ (defmethod animate ((this eco-pill)) (let ((a0-1 (-> this part)) (a1-0 (-> this root root-prim prim-core))) - (spawn a0-1 (the-as vector a1-0))) + (spawn a0-1 (-> a1-0 world-sphere))) (if (nonzero? (-> this sound)) (update! (-> this sound))) 0 (none)) @@ -1099,7 +1099,7 @@ :post (behavior () (transform-post) - (if (-> self state-object) (spawn (-> self part) (the-as vector (-> self root root-prim prim-core)))))) + (if (-> self state-object) (spawn (-> self part) (-> self root root-prim prim-core world-sphere))))) (defmethod initialize ((this fuel-cell)) (stack-size-set! (-> this main-thread) 512) @@ -1123,7 +1123,7 @@ (initialize-skeleton this *fuel-cell-sg* '()) (set! (-> this base quad) (-> this root trans quad)) (set! (-> this old-base quad) (-> this root trans quad)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 63) this)) + (set! (-> this part) (create-launch-control group-fuel-cell-starburst this)) (set! (-> this sound) (new 'process 'ambient-sound (static-sound-spec "powercell-idle" :fo-max 40) (-> this root trans))) (set! (-> this victory-anim) (fuel-cell-pick-anim this)) this) @@ -1333,7 +1333,7 @@ (set! (-> this notify-parent) #f) (set! (-> this fact) (new 'process 'fact-info this (pickup-type buzzer) (the-as float 0.0))) (initialize-skeleton this *buzzer-sg* '()) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 65) this)) + (set! (-> this part) (create-launch-control group-buzzer-effect this)) (set! (-> this sound) (new 'process 'ambient-sound (static-sound-spec "buzzer" :fo-max 40) (-> this root trans))) (set! (-> this victory-anim) (fuel-cell-pick-anim this)) this) @@ -1668,24 +1668,24 @@ (set! (-> this block-func) (the-as (function vent symbol) true-func)) (case (-> this fact pickup-type) (((pickup-type eco-blue)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 44) this)) - (set! (-> this collect-effect) (-> *part-group-id-table* 67)) - (set! (-> this collect-effect2) (-> *part-group-id-table* 43)) + (set! (-> this part) (create-launch-control group-part-vent-blue-active this)) + (set! (-> this collect-effect) group-blue-collect) + (set! (-> this collect-effect2) group-eco-blue-collect) (set! (-> this sound) (new 'process 'ambient-sound 'eco-bg-blue (-> this root trans)))) (((pickup-type eco-red)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 50) this)) - (set! (-> this collect-effect) (-> *part-group-id-table* 69)) - (set! (-> this collect-effect2) (-> *part-group-id-table* 49)) + (set! (-> this part) (create-launch-control group-part-vent-red-active this)) + (set! (-> this collect-effect) group-red-collect) + (set! (-> this collect-effect2) group-eco-red-collect) (set! (-> this sound) (new 'process 'ambient-sound 'eco-bg-red (-> this root trans)))) (((pickup-type eco-green)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 62) this)) - (set! (-> this collect-effect) (-> *part-group-id-table* 66)) - (set! (-> this collect-effect2) (-> *part-group-id-table* 61)) + (set! (-> this part) (create-launch-control group-part-vent-green-active this)) + (set! (-> this collect-effect) group-green-collect) + (set! (-> this collect-effect2) group-eco-green-collect) (set! (-> this sound) (new 'process 'ambient-sound 'eco-bg-green (-> this root trans)))) (((pickup-type eco-yellow)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 52) this)) - (set! (-> this collect-effect) (-> *part-group-id-table* 68)) - (set! (-> this collect-effect2) (-> *part-group-id-table* 57)) + (set! (-> this part) (create-launch-control group-part-vent-yellow-active this)) + (set! (-> this collect-effect) group-yellow-collect) + (set! (-> this collect-effect2) group-eco-yellow-collect) (set! (-> this sound) (new 'process 'ambient-sound 'eco-bg-yellow (-> this root trans))))) (set! (-> this blocker) (entity-actor-lookup (-> this entity) 'alt-actor 0)) (when (-> this blocker) diff --git a/goal_src/jak1/engine/common-obs/crates.gc b/goal_src/jak1/engine/common-obs/crates.gc index 00aa15a42c..3b2f6ba924 100644 --- a/goal_src/jak1/engine/common-obs/crates.gc +++ b/goal_src/jak1/engine/common-obs/crates.gc @@ -579,7 +579,7 @@ (when v1-6 (let* ((gp-2 (-> self root root-prim prim-core)) (a1-3 (-> (the-as collide-shape v1-6) root-prim prim-core)) - (f30-0 (vector-vector-distance (the-as vector gp-2) (the-as vector a1-3)))) + (f30-0 (vector-vector-distance (-> gp-2 world-sphere) (-> a1-3 world-sphere)))) (when (and (< f30-0 (-> *FACT-bank* suck-suck-dist)) (!= (-> self defense) 'steel)) (logior! (-> self fact options) (fact-options can-collect)) (go-virtual die #f 0)) @@ -661,7 +661,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 73) + group-dark-eco-box-explosion -1 #f #f @@ -673,7 +673,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 72) + group-crate-steel-explode -1 #f #f @@ -685,7 +685,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 71) + group-crate-explode -1 #f #f @@ -919,7 +919,7 @@ (defmethod art-init ((this crate-buzzer)) (let ((t9-0 (method-of-type crate art-init))) (t9-0 this)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 74) this)) + (set! (-> this part) (create-launch-control group-buzzer-crate this)) (set! (-> this sound) (new 'process 'ambient-sound (static-sound-spec "buzzer" :pitch-mod -762 :fo-max 40) (-> this root trans))) (set! (-> this victory-anim) (fuel-cell-pick-anim this)) diff --git a/goal_src/jak1/engine/common-obs/dark-eco-pool.gc b/goal_src/jak1/engine/common-obs/dark-eco-pool.gc index 50fcec4725..35c5b4c600 100644 --- a/goal_src/jak1/engine/common-obs/dark-eco-pool.gc +++ b/goal_src/jak1/engine/common-obs/dark-eco-pool.gc @@ -326,7 +326,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 445) + group-dark-eco-pool-nasty -1 #f #f diff --git a/goal_src/jak1/engine/common-obs/generic-obs.gc b/goal_src/jak1/engine/common-obs/generic-obs.gc index 42420f86a1..36b84bb0d4 100644 --- a/goal_src/jak1/engine/common-obs/generic-obs.gc +++ b/goal_src/jak1/engine/common-obs/generic-obs.gc @@ -1260,9 +1260,9 @@ (let ((v1-18 (-> this entity extra level name))) (set! (-> this part) (create-launch-control (cond - ((= v1-18 'beach) (-> *part-group-id-table* 37)) - ((= v1-18 'swamp) (-> *part-group-id-table* 39)) - (else (-> *part-group-id-table* 38))) + ((= v1-18 'beach) group-beach-launcher) + ((= v1-18 'swamp) group-swamp-launcher) + (else group-jungle-launcher)) this))) (let ((v1-24 (logand (the-as int s4-1) 255))) (cond @@ -1298,9 +1298,9 @@ (let ((v1-23 (-> self entity extra level name))) (set! (-> self part) (create-launch-control (cond - ((= v1-23 'beach) (-> *part-group-id-table* 37)) - ((= v1-23 'swamp) (-> *part-group-id-table* 39)) - (else (-> *part-group-id-table* 38))) + ((= v1-23 'beach) group-beach-launcher) + ((= v1-23 'swamp) group-swamp-launcher) + (else group-jungle-launcher)) self))) (case (logand arg2 255) ((1) (set! (-> self camera) cam-launcher-longfall)) @@ -1430,7 +1430,7 @@ ((>= v1-1 7) (let ((v1-2 (rand-vu-int-range 3 (+ v1-1 -1)))) (vector<-cspace! arg1 (-> arg0 node-list data v1-2)))) ((and (nonzero? s4-0) (type-type? (-> s4-0 type) collide-shape)) (vector+! arg1 - (the-as vector (-> (the-as collide-shape s4-0) root-prim prim-core)) + (-> (the-as collide-shape s4-0) root-prim prim-core world-sphere) (rand-vu-sphere-point! arg1 (-> (the-as collide-shape s4-0) root-prim prim-core world-sphere w)))) (else (vector+! arg1 (-> arg0 root trans) (rand-vu-sphere-point! arg1 (-> arg0 draw bounds w)))))) arg1) diff --git a/goal_src/jak1/engine/common-obs/plat-eco.gc b/goal_src/jak1/engine/common-obs/plat-eco.gc index c4241e75aa..37180cad9d 100644 --- a/goal_src/jak1/engine/common-obs/plat-eco.gc +++ b/goal_src/jak1/engine/common-obs/plat-eco.gc @@ -99,7 +99,7 @@ (when v1-6 (let* ((s5-0 (-> self root root-prim prim-core)) (a1-3 (-> (the-as collide-shape v1-6) root-prim prim-core)) - (f30-0 (vector-vector-distance (the-as vector s5-0) (the-as vector a1-3)))) + (f30-0 (vector-vector-distance (-> s5-0 world-sphere) (-> a1-3 world-sphere)))) (when (rand-vu-percent? 0.5) (let ((gp-2 (new 'stack-no-clear 'vector))) (set! (-> gp-2 quad) (-> s5-0 world-sphere quad)) @@ -190,7 +190,7 @@ (setup-lods! (-> this lit-look) s5-1 (-> this draw art-group) (-> this entity))) (logclear! (-> this mask) (process-mask actor-pause)) (update-transforms! (-> this root)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 107) this)) + (set! (-> this part) (create-launch-control group-standard-plat this)) (set! (-> this path) (new 'process 'curve-control this 'path -1000000000.0)) (logior! (-> this path flags) (path-control-flag display draw-line draw-point draw-text)) (set! (-> this fact) (new 'process 'fact-info this (pickup-type eco-pill-random) (-> *FACT-bank* default-pill-inc))) diff --git a/goal_src/jak1/engine/common-obs/plat.gc b/goal_src/jak1/engine/common-obs/plat.gc index ab3800593a..e0b2df422b 100644 --- a/goal_src/jak1/engine/common-obs/plat.gc +++ b/goal_src/jak1/engine/common-obs/plat.gc @@ -120,7 +120,7 @@ (defmethod baseplat-method-25 ((this plat)) (the-as sparticle-launch-group (when (!= (-> (if (-> this entity) (-> this entity extra level) (-> *level* level-default)) name) 'maincave) - (let ((v0-0 (create-launch-control (-> *part-group-id-table* 107) this))) (set! (-> this part) v0-0) v0-0)))) + (let ((v0-0 (create-launch-control group-standard-plat this))) (set! (-> this part) v0-0) v0-0)))) (defstate plat-startup (plat) :virtual #t diff --git a/goal_src/jak1/engine/common-obs/water.gc b/goal_src/jak1/engine/common-obs/water.gc index 8ab5a15836..788baac62d 100644 --- a/goal_src/jak1/engine/common-obs/water.gc +++ b/goal_src/jak1/engine/common-obs/water.gc @@ -36,7 +36,7 @@ (none)) (defun birth-func-ocean-height ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 matrix)) - (set! (-> arg2 vector 0 y) (+ (ocean-get-height (the-as vector (-> arg2 vector))) (-> arg1 user-float))) + (set! (-> arg2 vector 0 y) (+ (ocean-get-height (-> arg2 vector 0)) (-> arg1 user-float))) 0 (none)) @@ -577,7 +577,7 @@ (logior! (-> this flags) (water-flags wt16))) ((begin (set! (-> this top 1 quad) (-> this top 0 quad)) - (vector<-cspace! (the-as vector (-> this top)) (-> this process node-list data (-> this joint-index))) + (vector<-cspace! (-> this top 0) (-> this process node-list data (-> this joint-index))) (+! (-> this top 0 y) (-> this top-y-offset)) (set! (-> this bottom 1 quad) (-> this bottom 0 quad)) (set! (-> this bottom 0 quad) (-> this process root trans quad)) @@ -586,13 +586,13 @@ (cond ((and (logtest? (-> this flags) (water-flags wt08)) (not (logtest? (-> (the-as collide-shape-moving (-> this process root)) root-prim prim-core action) (collide-action racer)))) - (set! (-> this real-ocean-offset) (- (ocean-get-height (the-as vector (-> this bottom))) (-> this base-height))) + (set! (-> this real-ocean-offset) (- (ocean-get-height (-> this bottom 0)) (-> this base-height))) (if (not (logtest? (-> this flags) (water-flags wt09))) (set! (-> this ocean-offset) (-> this real-ocean-offset)) (set! (-> this ocean-offset) (lerp (-> this ocean-offset) (-> this real-ocean-offset) 0.2)))) ((logtest? (water-flags wt20) (-> this flags)) (let* ((a0-26 (-> this volume process 0)) - (f30-0 (ripple-find-height (the-as process-drawable a0-26) 0 (the-as vector (-> this bottom))))) + (f30-0 (ripple-find-height (the-as process-drawable a0-26) 0 (-> this bottom 0)))) (set! (-> this real-ocean-offset) (- f30-0 (-> this base-height))) (if (not (logtest? (-> this flags) (water-flags wt09))) (set! (-> this ocean-offset) (-> this real-ocean-offset)) @@ -892,7 +892,7 @@ (process-spawn part-tracker :init part-tracker-init - (if (zero? arg2) (-> *part-group-id-table* 41) (-> *part-group-id-table* 40)) + (if (zero? arg2) group-part-water-splash-small group-part-water-splash) -1 part-water-splash-callback arg0 diff --git a/goal_src/jak1/engine/data/art-h.gc b/goal_src/jak1/engine/data/art-h.gc index 4836ac1d86..8d0f6d9634 100644 --- a/goal_src/jak1/engine/data/art-h.gc +++ b/goal_src/jak1/engine/data/art-h.gc @@ -335,3 +335,5 @@ (import "goal_src/jak1/engine/data/art-elts.gc") (import "goal_src/jak1/engine/data/joint-nodes.gc") + +(import "goal_src/jak1/engine/data/part-groups.gc") diff --git a/goal_src/jak1/engine/data/part-groups.gc b/goal_src/jak1/engine/data/part-groups.gc new file mode 100644 index 0000000000..e81801b023 --- /dev/null +++ b/goal_src/jak1/engine/data/part-groups.gc @@ -0,0 +1,676 @@ +(defconstant group-lavatube-heavy-smoke-end (-> *part-group-id-table* 633)) +(defconstant group-lavatube-heavy-smoke-start (-> *part-group-id-table* 632)) +(defconstant group-lavatube-heavy-smoke (-> *part-group-id-table* 631)) +(defconstant group-lavatube-vents (-> *part-group-id-table* 628)) +(defconstant group-lavatube-fountain (-> *part-group-id-table* 627)) +(defconstant group-lavatube-green-smoke-angle-3 (-> *part-group-id-table* 626)) +(defconstant group-lavatube-green-smoke-angle-2 (-> *part-group-id-table* 625)) +(defconstant group-lavatube-green-smoke-angle-1 (-> *part-group-id-table* 624)) +(defconstant group-lavatube-green-smoke-down-3 (-> *part-group-id-table* 623)) +(defconstant group-lavatube-green-smoke-down-2 (-> *part-group-id-table* 622)) +(defconstant group-lavatube-green-smoke-down-1 (-> *part-group-id-table* 621)) +(defconstant group-lavatube-lowlava-40x40 (-> *part-group-id-table* 630)) +(defconstant group-lavatube-crust-40x40 (-> *part-group-id-table* 629)) +(defconstant group-lavatube-lowlava-20x20 (-> *part-group-id-table* 617)) +(defconstant group-lavatube-crust-20x20 (-> *part-group-id-table* 616)) +(defconstant group-energyball-explode (-> *part-group-id-table* 546)) +(defconstant group-energyball-always (-> *part-group-id-table* 545)) +(defconstant group-energyarm (-> *part-group-id-table* 544)) +(defconstant group-lavaballoon (-> *part-group-id-table* 543)) +(defconstant group-chainmine-explode (-> *part-group-id-table* 542)) +(defconstant group-darkecobarrel-explode (-> *part-group-id-table* 541)) +(defconstant group-darkecobarrel-hit (-> *part-group-id-table* 540)) +(defconstant group-yeti-slave-appear2 (-> *part-group-id-table* 539)) +(defconstant group-yeti-slave-appear1 (-> *part-group-id-table* 538)) +(defconstant group-snow-birds (-> *part-group-id-table* 537)) +(defconstant group-snow-door-torch (-> *part-group-id-table* 536)) +(defconstant group-snow-mountain-snow (-> *part-group-id-table* 535)) +(defconstant group-part-snow-torch (-> *part-group-id-table* 534)) +(defconstant group-snow-snowdrops6 (-> *part-group-id-table* 533)) +(defconstant group-snow-snowdrops5 (-> *part-group-id-table* 532)) +(defconstant group-snow-snowdrops4 (-> *part-group-id-table* 531)) +(defconstant group-snow-snowdrops3 (-> *part-group-id-table* 530)) +(defconstant group-snow-snowdrops2 (-> *part-group-id-table* 529)) +(defconstant group-snow-snowdrops1 (-> *part-group-id-table* 528)) +(defconstant group-ram-wheel-puffs (-> *part-group-id-table* 527)) +(defconstant group-ram-hit-wall (-> *part-group-id-table* 526)) +(defconstant group-ram-boss-foot-puff (-> *part-group-id-table* 574)) +(defconstant group-ram-boss-shield-on-fire (-> *part-group-id-table* 525)) +(defconstant group-ram-boss-proj-die (-> *part-group-id-table* 524)) +(defconstant group-ram-boss-proj-hit (-> *part-group-id-table* 523)) +(defconstant group-ram-boss-proj-fly (-> *part-group-id-table* 522)) +(defconstant group-ram-boss-proj-grow (-> *part-group-id-table* 521)) +(defconstant group-snow-bumper-shove (-> *part-group-id-table* 520)) +(defconstant group-snow-bumper-idle (-> *part-group-id-table* 519)) +(defconstant group-flutflut-plat-large (-> *part-group-id-table* 518)) +(defconstant group-flutflut-plat-med (-> *part-group-id-table* 517)) +(defconstant group-flutflut-plat-small (-> *part-group-id-table* 516)) +(defconstant group-snow-gears-dripping (-> *part-group-id-table* 515)) +(defconstant group-snow-fort-gate-snowdrops (-> *part-group-id-table* 514)) +(defconstant group-snow-fort-gate-hits-bottom (-> *part-group-id-table* 513)) +(defconstant group-snow-fort-gate-coming-down (-> *part-group-id-table* 512)) +(defconstant group-snow-yellow-eco-room-activate (-> *part-group-id-table* 511)) +(defconstant group-snow-yellow-eco-room-open (-> *part-group-id-table* 510)) +(defconstant group-ice-cube-shatter (-> *part-group-id-table* 509)) +(defconstant group-ice-cube-foot-puff (-> *part-group-id-table* 567)) +(defconstant group-ice-cube-appear2 (-> *part-group-id-table* 508)) +(defconstant group-ice-cube-appear1 (-> *part-group-id-table* 507)) +(defconstant group-part-robocave-torch (-> *part-group-id-table* 506)) +(defconstant group-minershort-candle (-> *part-group-id-table* 566)) +(defconstant group-village3-sagehut-understeam (-> *part-group-id-table* 503)) +(defconstant group-village3-sagehut-steam (-> *part-group-id-table* 502)) +(defconstant group-village3-sagehut-boiling (-> *part-group-id-table* 501)) +(defconstant group-village3-sagehut-warpgate (-> *part-group-id-table* 500)) +(defconstant group-village3-lava-lava-20x20 (-> *part-group-id-table* 499)) +(defconstant group-village3-bottom-puff-30 (-> *part-group-id-table* 498)) +(defconstant group-village3-bottom-puff-29 (-> *part-group-id-table* 497)) +(defconstant group-village3-bottom-puff-28 (-> *part-group-id-table* 496)) +(defconstant group-village3-bottom-puff-27 (-> *part-group-id-table* 495)) +(defconstant group-village3-bottom-puff-25 (-> *part-group-id-table* 494)) +(defconstant group-village3-steam-puff-23 (-> *part-group-id-table* 493)) +(defconstant group-village3-steam-puff-22 (-> *part-group-id-table* 492)) +(defconstant group-village3-steam-puff-31 (-> *part-group-id-table* 491)) +(defconstant group-spewing-volcano-37 (-> *part-group-id-table* 490)) +(defconstant group-spewing-volcano-36 (-> *part-group-id-table* 489)) +(defconstant group-village3-minor-fire (-> *part-group-id-table* 488)) +(defconstant group-village3-sulphur-15 (-> *part-group-id-table* 487)) +(defconstant group-village3-sulphur-14 (-> *part-group-id-table* 486)) +(defconstant group-village3-sulphur-13 (-> *part-group-id-table* 485)) +(defconstant group-village3-sulphur-12 (-> *part-group-id-table* 484)) +(defconstant group-village3-sulphur-11 (-> *part-group-id-table* 483)) +(defconstant group-village3-sulphur-10 (-> *part-group-id-table* 482)) +(defconstant group-village3-sulphur-09 (-> *part-group-id-table* 481)) +(defconstant group-village3-sulphur-08 (-> *part-group-id-table* 480)) +(defconstant group-village3-sulphur-07 (-> *part-group-id-table* 479)) +(defconstant group-village3-sulphur-06 (-> *part-group-id-table* 478)) +(defconstant group-village3-sulphur-05 (-> *part-group-id-table* 477)) +(defconstant group-village3-candle (-> *part-group-id-table* 476)) +(defconstant group-shortcut-boulder-explosion (-> *part-group-id-table* 475)) +(defconstant group-tntbarrel-explosion (-> *part-group-id-table* 474)) +(defconstant group-tntbarrel-BIG-explosion (-> *part-group-id-table* 473)) +(defconstant group-ogre-lava-lava-20x20 (-> *part-group-id-table* 472)) +(defconstant group-ogreboss-missile-impact (-> *part-group-id-table* 471)) +(defconstant group-ogreboss-pre-missile (-> *part-group-id-table* 470)) +(defconstant group-ogreboss-missile (-> *part-group-id-table* 469)) +(defconstant group-ogreboss-boulder-grow (-> *part-group-id-table* 468)) +(defconstant group-ogre-bridge-splash (-> *part-group-id-table* 466)) +(defconstant group-ogreboss-lava-splash (-> *part-group-id-table* 465)) +(defconstant group-ogreboss-column-break (-> *part-group-id-table* 464)) +(defconstant group-dark-cluster-explosion (-> *part-group-id-table* 228)) +(defconstant group-balloon (-> *part-group-id-table* 227)) +(defconstant group-rolling-explode-ring-blue (-> *part-group-id-table* 462)) +(defconstant group-rolling-spawn-ring-blue (-> *part-group-id-table* 461)) +(defconstant group-rolling-ring-blue (-> *part-group-id-table* 460)) +(defconstant group-rolling-explode-ring (-> *part-group-id-table* 459)) +(defconstant group-rolling-spawn-ring (-> *part-group-id-table* 458)) +(defconstant group-rolling-ring (-> *part-group-id-table* 457)) +(defconstant group-peeper (-> *part-group-id-table* 456)) +(defconstant group-dark-plant (-> *part-group-id-table* 455)) +(defconstant group-bully-explode (-> *part-group-id-table* 454)) +(defconstant group-pipegame-blow2 (-> *part-group-id-table* 453)) +(defconstant group-pipegame-blow1 (-> *part-group-id-table* 452)) +(defconstant group-pipegame-blow0 (-> *part-group-id-table* 451)) +(defconstant group-pipegame-jar-suck2 (-> *part-group-id-table* 450)) +(defconstant group-pipegame-jar-suck1 (-> *part-group-id-table* 449)) +(defconstant group-pipegame-jar-suck0 (-> *part-group-id-table* 448)) +(defconstant group-whirlpool-swirl (-> *part-group-id-table* 447)) +(defconstant group-sunken-water-deadly-water (-> *part-group-id-table* 446)) +(defconstant group-exit-chamber-ripples (-> *part-group-id-table* 620)) +(defconstant group-steam-cap-plume-spread (-> *part-group-id-table* 443)) +(defconstant group-steam-cap-plume (-> *part-group-id-table* 442)) +(defconstant group-steam-cap-sides (-> *part-group-id-table* 441)) +(defconstant group-orbit-plat-jet (-> *part-group-id-table* 440)) +(defconstant group-square-platform-submerge-splash (-> *part-group-id-table* 439)) +(defconstant group-square-platform-submerge-bubbles (-> *part-group-id-table* 438)) +(defconstant group-square-platform-breach-splash (-> *part-group-id-table* 437)) +(defconstant group-side-to-side-plat (-> *part-group-id-table* 436)) +(defconstant group-sunken-heatpipe-268 (-> *part-group-id-table* 435)) +(defconstant group-sunken-heatpipe-267 (-> *part-group-id-table* 434)) +(defconstant group-sunken-heatpipe-266 (-> *part-group-id-table* 433)) +(defconstant group-sunken-heatpipe-265 (-> *part-group-id-table* 432)) +(defconstant group-sunken-heatpipe-264 (-> *part-group-id-table* 431)) +(defconstant group-sunken-heatpipe-254 (-> *part-group-id-table* 430)) +(defconstant group-sunken-heatpipe-251 (-> *part-group-id-table* 429)) +(defconstant group-sunken-heatpipe-278 (-> *part-group-id-table* 428)) +(defconstant group-flut-attack-strike-ground (-> *part-group-id-table* 121)) +(defconstant group-citadel-warpgate (-> *part-group-id-table* 662)) +(defconstant group-flut-trans-pad (-> *part-group-id-table* 120)) +(defconstant group-levitator-on-small (-> *part-group-id-table* 661)) +(defconstant group-racer-explode (-> *part-group-id-table* 116)) +(defconstant group-2d-intro-mist (-> *part-group-id-table* 657)) +(defconstant group-racer-trans-pad (-> *part-group-id-table* 115)) +(defconstant group-part-save-icon (-> *part-group-id-table* 656)) +(defconstant group-part-hud-racer-heat-slice (-> *part-group-id-table* 114)) +(defconstant group-white-eco (-> *part-group-id-table* 655)) +(defconstant group-part-hud-racer-heat (-> *part-group-id-table* 113)) +(defconstant group-robotboss-yellow-smoke (-> *part-group-id-table* 654)) +(defconstant group-part-hud-racer-heat-dial (-> *part-group-id-table* 112)) +(defconstant group-robotboss-yellow-blowup (-> *part-group-id-table* 653)) +(defconstant group-part-hud-racer-heat-backing (-> *part-group-id-table* 111)) +(defconstant group-robotboss-yellowshot (-> *part-group-id-table* 652)) +(defconstant group-part-hud-racer-speed-front (-> *part-group-id-table* 110)) +(defconstant group-robotboss-yellowshot-charge (-> *part-group-id-table* 651)) +(defconstant group-part-hud-racer-speed (-> *part-group-id-table* 109)) +(defconstant group-robotboss-red-smoke (-> *part-group-id-table* 650)) +(defconstant group-part-hud-racer-speed-dial (-> *part-group-id-table* 108)) +(defconstant group-robotboss-red-blowup (-> *part-group-id-table* 649)) +(defconstant group-jungle-waterfall-4 (-> *part-group-id-table* 183)) +(defconstant group-jungle-waterfall-2 (-> *part-group-id-table* 181)) +(defconstant group-jungle-waterfall-1 (-> *part-group-id-table* 180)) +(defconstant group-fish-collect (-> *part-group-id-table* 179)) +(defconstant group-jungle-binoculars-aligned (-> *part-group-id-table* 689)) +(defconstant group-training-geyser-4 (-> *part-group-id-table* 148)) +(defconstant group-darkvine-puffs (-> *part-group-id-table* 175)) +(defconstant group-junglesnake-dropping-down (-> *part-group-id-table* 173)) +(defconstant group-green-eco-lurker-death (-> *part-group-id-table* 643)) +(defconstant group-yellow-eco-fireball (-> *part-group-id-table* 102)) +(defconstant group-normal-fish (-> *part-group-id-table* 178)) +(defconstant group-light-eco-child (-> *part-group-id-table* 692)) +(defconstant group-training-butterflies (-> *part-group-id-table* 151)) +(defconstant group-bad-fish (-> *part-group-id-table* 177)) +(defconstant group-light-eco-mother (-> *part-group-id-table* 691)) +(defconstant group-training-warpgate (-> *part-group-id-table* 150)) +(defconstant group-jungle-binoculars (-> *part-group-id-table* 176)) +(defconstant group-light-eco-mother-growing (-> *part-group-id-table* 690)) +(defconstant group-training-geyser-6 (-> *part-group-id-table* 149)) +(defconstant group-2d-big-door-whiteout (-> *part-group-id-table* 706)) +(defconstant group-beach-22 (-> *part-group-id-table* 165)) +(defconstant group-jungle-dapple-light-1 (-> *part-group-id-table* 184)) +(defconstant group-bigdoor-open (-> *part-group-id-table* 698)) +(defconstant group-beach-sandworm (-> *part-group-id-table* 157)) +(defconstant group-jungle-blue-eco-room-activate (-> *part-group-id-table* 190)) +(defconstant group-robotboss-splash (-> *part-group-id-table* 704)) +(defconstant group-beach-24 (-> *part-group-id-table* 163)) +(defconstant group-jungle-waterfall-3 (-> *part-group-id-table* 182)) +(defconstant group-robotboss-explode (-> *part-group-id-table* 696)) +(defconstant group-beach-grotto-pole-rocks (-> *part-group-id-table* 155)) +(defconstant group-jungle-blue-eco-room-open (-> *part-group-id-table* 189)) +(defconstant group-robotboss-joints (-> *part-group-id-table* 703)) +(defconstant group-beach-waterfall (-> *part-group-id-table* 162)) +(defconstant group-jungle-lurkermachine-3 (-> *part-group-id-table* 186)) +(defconstant group-target-white-eco-joints (-> *part-group-id-table* 700)) +(defconstant group-lurkercrab-slide (-> *part-group-id-table* 159)) +(defconstant group-jungle-tower-spewer (-> *part-group-id-table* 185)) +(defconstant group-target-white-eco-ground (-> *part-group-id-table* 699)) +(defconstant group-beach-sandworm-norocks (-> *part-group-id-table* 158)) +(defconstant group-finalboss-red-claw-beam (-> *part-group-id-table* 668)) +(defconstant group-village1-butterflies (-> *part-group-id-table* 127)) +(defconstant group-finalboss-blue-claw-beam-impact (-> *part-group-id-table* 667)) +(defconstant group-finalboss-blue-claw-beam (-> *part-group-id-table* 666)) +(defconstant group-village1-moth (-> *part-group-id-table* 128)) +(defconstant group-robotboss-yellowshot-launch (-> *part-group-id-table* 642)) +(defconstant group-part-progress-orb-small (-> *part-group-id-table* 101)) +(defconstant group-robotboss-redshot (-> *part-group-id-table* 648)) +(defconstant group-standard-plat (-> *part-group-id-table* 107)) +(defconstant group-robotboss-redshot-warning (-> *part-group-id-table* 647)) +(defconstant group-sharkey-splash (-> *part-group-id-table* 106)) +(defconstant group-robotboss-redshot-body (-> *part-group-id-table* 665)) +(defconstant group-win-wind-mill-hires (-> *part-group-id-table* 124)) +(defconstant group-robotboss-redshot-launch (-> *part-group-id-table* 641)) +(defconstant group-part-progress-buzzer-small (-> *part-group-id-table* 100)) +(defconstant group-robotboss-redshot-charge (-> *part-group-id-table* 646)) +(defconstant group-part-tester (-> *part-group-id-table* 105)) +(defconstant group-robotboss-greenshot (-> *part-group-id-table* 664)) +(defconstant group-win-wind-mill (-> *part-group-id-table* 123)) +(defconstant group-robotboss-greenshot-launch (-> *part-group-id-table* 640)) +(defconstant group-part-progress-orb (-> *part-group-id-table* 99)) +(defconstant group-robotboss-darkecobomb-tick (-> *part-group-id-table* 663)) +(defconstant group-assistant-torch (-> *part-group-id-table* 122)) +(defconstant group-robotboss-darkecobomb-glow (-> *part-group-id-table* 639)) +(defconstant group-part-progress-buzzer (-> *part-group-id-table* 98)) +(defconstant group-robotboss-darkecobomb-launch (-> *part-group-id-table* 638)) +(defconstant group-part-progress-hud-power-cell-whole (-> *part-group-id-table* 97)) +(defconstant group-robotboss-blue-smoke (-> *part-group-id-table* 645)) +(defconstant group-part-yellow-eco-fireball-hit (-> *part-group-id-table* 104)) +(defconstant group-robotboss-blue-blowup (-> *part-group-id-table* 644)) +(defconstant group-part-yellow-eco-fireball-launcher (-> *part-group-id-table* 103)) +(defconstant group-robotboss-blue-beam-impact (-> *part-group-id-table* 637)) +(defconstant group-part-progress-hud-power-cell-center (-> *part-group-id-table* 96)) +(defconstant group-robotboss-blue-beam (-> *part-group-id-table* 636)) +(defconstant group-part-progress-card-slot-04 (-> *part-group-id-table* 95)) +(defconstant group-part-screen1 (-> *part-group-id-table* 707)) +(defconstant group-beach-18 (-> *part-group-id-table* 166)) +(defconstant group-beach-moth (-> *part-group-id-table* 172)) +(defconstant group-firehose-blast-smoke (-> *part-group-id-table* 685)) +(defconstant group-scarecrow-joint-explode (-> *part-group-id-table* 144)) +(defconstant group-beach-butterflies (-> *part-group-id-table* 171)) +(defconstant group-beach-14 (-> *part-group-id-table* 170)) +(defconstant group-part-citadel-torch (-> *part-group-id-table* 683)) +(defconstant group-village1-trans-pad (-> *part-group-id-table* 142)) +(defconstant group-beach-15 (-> *part-group-id-table* 169)) +(defconstant group-2d-credits-mist (-> *part-group-id-table* 682)) +(defconstant group-village1-misty-fog (-> *part-group-id-table* 141)) +(defconstant group-beach-16 (-> *part-group-id-table* 168)) +(defconstant group-beach-17 (-> *part-group-id-table* 167)) +(defconstant group-burn-death (-> *part-group-id-table* 708)) +(defconstant group-robotboss-redshot-test (-> *part-group-id-table* 679)) +(defconstant group-village1-sagehut-rings-3 (-> *part-group-id-table* 138)) +(defconstant group-beach-23 (-> *part-group-id-table* 164)) +(defconstant group-part-hud-orb-all (-> *part-group-id-table* 705)) +(defconstant group-robotboss-yellow-claw-glow (-> *part-group-id-table* 677)) +(defconstant group-village1-sagehut-rings (-> *part-group-id-table* 136)) +(defconstant group-robotboss-red-claw-glow (-> *part-group-id-table* 676)) +(defconstant group-village1-bird-lady-birds (-> *part-group-id-table* 135)) +(defconstant group-robotboss-green-claw-glow (-> *part-group-id-table* 675)) +(defconstant group-village1-fountain (-> *part-group-id-table* 134)) +(defconstant group-beach-grotto-2 (-> *part-group-id-table* 161)) +(defconstant group-target-white-eco-hand-shot (-> *part-group-id-table* 702)) +(defconstant group-robotboss-blue-claw-glow (-> *part-group-id-table* 674)) +(defconstant group-village1-butterfly-sitting (-> *part-group-id-table* 133)) +(defconstant group-seagull-takeoff (-> *part-group-id-table* 160)) +(defconstant group-target-white-eco-hand-glow (-> *part-group-id-table* 701)) +(defconstant group-finalboss-green-claw-beam-impact (-> *part-group-id-table* 673)) +(defconstant group-village1-sagehut-seagulls (-> *part-group-id-table* 132)) +(defconstant group-finalboss-green-claw-beam (-> *part-group-id-table* 672)) +(defconstant group-village1-mayor-fire (-> *part-group-id-table* 131)) +(defconstant group-finalboss-yellow-claw-beam-impact (-> *part-group-id-table* 671)) +(defconstant group-village1-pot (-> *part-group-id-table* 130)) +(defconstant group-finalboss-yellow-claw-beam (-> *part-group-id-table* 670)) +(defconstant group-village1-hummingbird (-> *part-group-id-table* 129)) +(defconstant group-beach-harvester-rock-explosion (-> *part-group-id-table* 156)) +(defconstant group-beach-cannon-fire (-> *part-group-id-table* 119)) +(defconstant group-levitator-on-big (-> *part-group-id-table* 660)) +(defconstant group-beach-sack-explosion (-> *part-group-id-table* 118)) +(defconstant group-levitator-blue-beam-impact (-> *part-group-id-table* 659)) +(defconstant group-beach-sack-fuse (-> *part-group-id-table* 117)) +(defconstant group-levitator-blue-beam (-> *part-group-id-table* 658)) +(defconstant group-jungle-lurkermachine-1 (-> *part-group-id-table* 187)) +(defconstant group-dark-eco-nasty (-> *part-group-id-table* 444)) +(defconstant group-final-boss-mine-explosion (-> *part-group-id-table* 619)) +(defconstant group-part-hud-health-3 (-> *part-group-id-table* 78)) +(defconstant group-lava-death (-> *part-group-id-table* 32)) +(defconstant group-part-progress-button-circle (-> *part-group-id-table* 573)) +(defconstant group-dark-eco-death (-> *part-group-id-table* 31)) +(defconstant group-part-progress-button-triangle (-> *part-group-id-table* 572)) +(defconstant group-slide-poof-crwood (-> *part-group-id-table* 30)) +(defconstant group-part-progress-button-square (-> *part-group-id-table* 571)) +(defconstant group-slide-poof-wood (-> *part-group-id-table* 29)) +(defconstant group-part-progress-button-x (-> *part-group-id-table* 570)) +(defconstant group-citb-coil-glow (-> *part-group-id-table* 596)) +(defconstant group-part-hud-eco-timer (-> *part-group-id-table* 82)) +(defconstant group-part-hud-buzzer (-> *part-group-id-table* 81)) +(defconstant group-slide-poof-stone (-> *part-group-id-table* 28)) +(defconstant group-slide-poof-grass (-> *part-group-id-table* 27)) +(defconstant group-slide-poof-sand (-> *part-group-id-table* 26)) +(defconstant group-just-footprint-sand (-> *part-group-id-table* 25)) +(defconstant group-just-poof-sand (-> *part-group-id-table* 24)) +(defconstant group-sunken-sheild (-> *part-group-id-table* 565)) +(defconstant group-run-poof-sand (-> *part-group-id-table* 23)) +(defconstant group-ogreboulder-trail (-> *part-group-id-table* 564)) +(defconstant group-just-footprint-grass (-> *part-group-id-table* 22)) +(defconstant group-allpontoons-trail (-> *part-group-id-table* 563)) +(defconstant group-just-poof-grass (-> *part-group-id-table* 21)) +(defconstant group-sequenceC-dark-splash (-> *part-group-id-table* 562)) +(defconstant group-run-poof-grass (-> *part-group-id-table* 20)) +(defconstant group-sequenceC-exploding-can (-> *part-group-id-table* 561)) +(defconstant group-part-hud-power-cell-whole (-> *part-group-id-table* 80)) +(defconstant group-dark-eco-box-explosion (-> *part-group-id-table* 73)) +(defconstant group-mother-spider-leg (-> *part-group-id-table* 614)) +(defconstant group-run-poof-pcmetal (-> *part-group-id-table* 587)) +(defconstant group-part-hud-orb (-> *part-group-id-table* 79)) +(defconstant group-just-poof-wood (-> *part-group-id-table* 19)) +(defconstant group-sequenceC-glowing-can (-> *part-group-id-table* 560)) +(defconstant group-run-poof-wood (-> *part-group-id-table* 18)) +(defconstant group-just-poof-crwood (-> *part-group-id-table* 17)) +(defconstant group-evilsib-hover (-> *part-group-id-table* 558)) +(defconstant group-run-poof-crwood (-> *part-group-id-table* 16)) +(defconstant group-evilsib-appear (-> *part-group-id-table* 557)) +(defconstant group-punch-hit (-> *part-group-id-table* 5)) +(defconstant group-stars (-> *part-group-id-table* 34)) +(defconstant group-land-poof-dirt (-> *part-group-id-table* 575)) +(defconstant group-crate-explode (-> *part-group-id-table* 71)) +(defconstant group-part-first-person-hud-right (-> *part-group-id-table* 612)) +(defconstant group-run-poof-ice (-> *part-group-id-table* 585)) +(defconstant group-part-vent-blue-active (-> *part-group-id-table* 44)) +(defconstant group-spin-hit (-> *part-group-id-table* 4)) +(defconstant group-blue-hit-ground-effect (-> *part-group-id-table* 70)) +(defconstant group-part-first-person-hud-left (-> *part-group-id-table* 611)) +(defconstant group-just-footprint-snow (-> *part-group-id-table* 584)) +(defconstant group-eco-blue-collect (-> *part-group-id-table* 43)) +(defconstant group-slide-poof-snow (-> *part-group-id-table* 590)) +(defconstant group-eco-red-collect (-> *part-group-id-table* 49)) +(defconstant group-part-hud-health-1 (-> *part-group-id-table* 76)) +(defconstant group-red-eco-spinkick (-> *part-group-id-table* 3)) +(defconstant group-red-collect (-> *part-group-id-table* 69)) +(defconstant group-citb-green-sage-beam-impact (-> *part-group-id-table* 610)) +(defconstant group-just-poof-snow (-> *part-group-id-table* 583)) +(defconstant group-eco-blue (-> *part-group-id-table* 42)) +(defconstant group-slide-poof-pcmetal (-> *part-group-id-table* 589)) +(defconstant group-eco-red (-> *part-group-id-table* 48)) +(defconstant group-part-hud-pickup (-> *part-group-id-table* 75)) +(defconstant group-red-eco-strike-ground (-> *part-group-id-table* 2)) +(defconstant group-yellow-collect (-> *part-group-id-table* 68)) +(defconstant group-citb-yellow-sage-beam-impact (-> *part-group-id-table* 609)) +(defconstant group-run-poof-snow (-> *part-group-id-table* 582)) +(defconstant group-part-water-splash-small (-> *part-group-id-table* 41)) +(defconstant group-just-poof-pcmetal (-> *part-group-id-table* 588)) +(defconstant group-buzzer-crate (-> *part-group-id-table* 74)) +(defconstant group-part-progress-save-icon (-> *part-group-id-table* 615)) +(defconstant group-part-hud-health-2 (-> *part-group-id-table* 77)) +(defconstant group-mother-spider-leg-socket (-> *part-group-id-table* 618)) +(defconstant group-slide-poof-ice (-> *part-group-id-table* 591)) +(defconstant group-part-vent-red-active (-> *part-group-id-table* 50)) +(defconstant group-citb-generator-off (-> *part-group-id-table* 597)) +(defconstant group-eco-yellow (-> *part-group-id-table* 56)) +(defconstant group-part-hud-eco-timer-backing (-> *part-group-id-table* 83)) +(defconstant group-target-hit (-> *part-group-id-table* 1)) +(defconstant group-beach-rocks-start (-> *part-group-id-table* 553)) +(defconstant group-land-poof-crwood (-> *part-group-id-table* 12)) +(defconstant group-swamp-launcher (-> *part-group-id-table* 39)) +(defconstant group-land-poof-ice (-> *part-group-id-table* 580)) +(defconstant group-land-poof-grass (-> *part-group-id-table* 10)) +(defconstant group-ogreboulder-hit-wall (-> *part-group-id-table* 551)) +(defconstant group-jungle-launcher (-> *part-group-id-table* 38)) +(defconstant group-slide-poof-dirt (-> *part-group-id-table* 579)) +(defconstant group-land-poof-snow (-> *part-group-id-table* 9)) +(defconstant group-beach-launcher (-> *part-group-id-table* 37)) +(defconstant group-just-footprint-dirt (-> *part-group-id-table* 578)) +(defconstant group-land-poof-sand (-> *part-group-id-table* 8)) +(defconstant group-green-sun (-> *part-group-id-table* 36)) +(defconstant group-just-poof-dirt (-> *part-group-id-table* 577)) +(defconstant group-sun (-> *part-group-id-table* 35)) +(defconstant group-run-poof-dirt (-> *part-group-id-table* 576)) +(defconstant group-smack-surface (-> *part-group-id-table* 6)) +(defconstant group-run-poof-stone (-> *part-group-id-table* 14)) +(defconstant group-beach-rocks-land (-> *part-group-id-table* 555)) +(defconstant group-land-poof-pcmetal (-> *part-group-id-table* 581)) +(defconstant group-part-water-splash (-> *part-group-id-table* 40)) +(defconstant group-blue-collect (-> *part-group-id-table* 67)) +(defconstant group-citb-red-sage-beam-impact (-> *part-group-id-table* 608)) +(defconstant group-just-poof-ice (-> *part-group-id-table* 586)) +(defconstant group-part-vent-blue-inactive (-> *part-group-id-table* 45)) +(defconstant group-crate-steel-explode (-> *part-group-id-table* 72)) +(defconstant group-part-first-person-hud-selector (-> *part-group-id-table* 613)) +(defconstant group-dark-eco-pool-nasty (-> *part-group-id-table* 445)) +(defconstant group-rain-screend-drop-real (-> *part-group-id-table* 188)) +(defconstant group-eco-green-collect (-> *part-group-id-table* 61)) +(defconstant group-citb-coil-off (-> *part-group-id-table* 602)) +(defconstant group-land-poof-wood (-> *part-group-id-table* 11)) +(defconstant group-ogreboulder-splash (-> *part-group-id-table* 552)) +(defconstant group-land-poof-stone (-> *part-group-id-table* 13)) +(defconstant group-beach-rocks-fall (-> *part-group-id-table* 554)) +(defconstant group-just-poof-stone (-> *part-group-id-table* 15)) +(defconstant group-part-vent-red-inactive (-> *part-group-id-table* 51)) +(defconstant group-part-vent-yellow-active (-> *part-group-id-table* 52)) +(defconstant group-part-vent-yellow-inactive (-> *part-group-id-table* 53)) +(defconstant group-eco-green-pill-collect (-> *part-group-id-table* 60)) +(defconstant group-citb-robotboss-shield (-> *part-group-id-table* 601)) +(defconstant group-part-vent-green-active (-> *part-group-id-table* 62)) +(defconstant group-citb-blue-sage-beam (-> *part-group-id-table* 603)) +(defconstant group-fuel-cell-starburst (-> *part-group-id-table* 63)) +(defconstant group-citb-red-sage-beam (-> *part-group-id-table* 604)) +(defconstant group-eco-yellow-collect (-> *part-group-id-table* 57)) +(defconstant group-citb-generator-break (-> *part-group-id-table* 598)) +(defconstant group-money-starburst (-> *part-group-id-table* 64)) +(defconstant group-citb-yellow-sage-beam (-> *part-group-id-table* 605)) +(defconstant group-eco-green (-> *part-group-id-table* 58)) +(defconstant group-citb-generator-mushroom-on (-> *part-group-id-table* 599)) +(defconstant group-buzzer-effect (-> *part-group-id-table* 65)) +(defconstant group-citb-green-sage-beam (-> *part-group-id-table* 606)) +(defconstant group-eco-green-pill (-> *part-group-id-table* 59)) +(defconstant group-citb-generator-on (-> *part-group-id-table* 600)) +(defconstant group-green-collect (-> *part-group-id-table* 66)) +(defconstant group-citb-blue-sage-beam-impact (-> *part-group-id-table* 607)) +(defconstant group-part-hud-timer-blue (-> *part-group-id-table* 84)) +(defconstant group-part-progress-hud-previous (-> *part-group-id-table* 85)) +(defconstant group-part-progress-hud-next (-> *part-group-id-table* 86)) +(defconstant group-part-progress-hud-selector (-> *part-group-id-table* 87)) +(defconstant group-part-progress-hud-left (-> *part-group-id-table* 88)) +(defconstant group-part-progress-hud-right (-> *part-group-id-table* 89)) +(defconstant group-part-progress-hud-tint (-> *part-group-id-table* 90)) +(defconstant group-part-progress-card-cell (-> *part-group-id-table* 91)) +(defconstant group-part-progress-card-slot-01 (-> *part-group-id-table* 92)) +(defconstant group-part-progress-card-slot-02 (-> *part-group-id-table* 93)) +(defconstant group-village2-fireboulder-off (-> *part-group-id-table* 634)) +(defconstant group-part-progress-card-slot-03 (-> *part-group-id-table* 94)) +(defconstant group-village1-sagehut-rings-2 (-> *part-group-id-table* 137)) +(defconstant group-village2-fireboulder-hover (-> *part-group-id-table* 678)) +(defconstant group-village1-sagehut-drips (-> *part-group-id-table* 139)) +(defconstant group-village1-sagehut-warpgate (-> *part-group-id-table* 140)) +(defconstant group-sequenceC-blow-dust (-> *part-group-id-table* 681)) +(defconstant group-village1-training-spouts (-> *part-group-id-table* 684)) +(defconstant group-scarecrow-explode (-> *part-group-id-table* 143)) +(defconstant group-sequenceAV-splash (-> *part-group-id-table* 686)) +(defconstant group-scarecrow-hit (-> *part-group-id-table* 145)) +(defconstant group-sequenceAV-spit (-> *part-group-id-table* 687)) +(defconstant group-training-geyser-2 (-> *part-group-id-table* 146)) +(defconstant group-sequenceAV-2d-intro-mist (-> *part-group-id-table* 688)) +(defconstant group-training-geyser-5 (-> *part-group-id-table* 147)) +(defconstant group-training-birds (-> *part-group-id-table* 152)) +(defconstant group-training-waterfall-21 (-> *part-group-id-table* 153)) +(defconstant group-training-waterfall-20 (-> *part-group-id-table* 154)) +(defconstant group-windturbine-particles (-> *part-group-id-table* 191)) +(defconstant group-misty-bone-01 (-> *part-group-id-table* 192)) +(defconstant group-misty-bone-03 (-> *part-group-id-table* 193)) +(defconstant group-misty-bone-02 (-> *part-group-id-table* 194)) +(defconstant group-misty-bone-07 (-> *part-group-id-table* 195)) +(defconstant group-misty-boat-paddle (-> *part-group-id-table* 196)) +(defconstant group-keg-bounce (-> *part-group-id-table* 197)) +(defconstant group-quicksandlurker-missile (-> *part-group-id-table* 198)) +(defconstant group-quicksandlurker-pre-missile (-> *part-group-id-table* 199)) +(defconstant group-quicksandlurker-missile-impact (-> *part-group-id-table* 200)) +(defconstant group-quicksandlurker-hide (-> *part-group-id-table* 201)) +(defconstant group-quicksandlurker-popup (-> *part-group-id-table* 202)) +(defconstant group-balloonlurker-pilot-death (-> *part-group-id-table* 203)) +(defconstant group-balloonlurker-mine-explosion (-> *part-group-id-table* 204)) +(defconstant group-misty-ship-steam (-> *part-group-id-table* 205)) +(defconstant group-part-misty-torch (-> *part-group-id-table* 206)) +(defconstant group-misty-fog (-> *part-group-id-table* 207)) +(defconstant group-misty-lurkermachine-vent-316 (-> *part-group-id-table* 208)) +(defconstant group-misty-lurkermachine-vent-313 (-> *part-group-id-table* 209)) +(defconstant group-misty-lurkermachine-vent-308 (-> *part-group-id-table* 210)) +(defconstant group-misty-lurkermachine-vent-307 (-> *part-group-id-table* 211)) +(defconstant group-misty-lurkermachine-vent-305 (-> *part-group-id-table* 212)) +(defconstant group-misty-lurkermachine-vent-309 (-> *part-group-id-table* 213)) +(defconstant group-misty-lurkermachine-vent-2 (-> *part-group-id-table* 214)) +(defconstant group-misty-lurkermachine-vent-328 (-> *part-group-id-table* 215)) +(defconstant group-misty-lurkermachine-vent-325 (-> *part-group-id-table* 216)) +(defconstant group-misty-lurkermachine-vent-320 (-> *part-group-id-table* 217)) +(defconstant group-misty-lurkermachine-vent-324 (-> *part-group-id-table* 218)) +(defconstant group-misty-fort-steam (-> *part-group-id-table* 219)) +(defconstant group-misty-fort-steam2 (-> *part-group-id-table* 220)) +(defconstant group-misty-fort-steam3 (-> *part-group-id-table* 221)) +(defconstant group-misty-fort-steam4 (-> *part-group-id-table* 222)) +(defconstant group-misty-lurkermachine-spout-314 (-> *part-group-id-table* 223)) +(defconstant group-misty-lurkermachine-spout-310 (-> *part-group-id-table* 224)) +(defconstant group-misty-lurkermachine-spout-311 (-> *part-group-id-table* 225)) +(defconstant group-misty-lurkermachine-spout-312 (-> *part-group-id-table* 226)) +(defconstant group-firecanyon-lava-1 (-> *part-group-id-table* 229)) +(defconstant group-firecanyon-lava-2 (-> *part-group-id-table* 230)) +(defconstant group-firecanyon-lava-3 (-> *part-group-id-table* 231)) +(defconstant group-firecanyon-lava-5 (-> *part-group-id-table* 232)) +(defconstant group-firecanyon-lava-6 (-> *part-group-id-table* 233)) +(defconstant group-firecanyon-lava-7 (-> *part-group-id-table* 234)) +(defconstant group-firecanyon-lava-8 (-> *part-group-id-table* 235)) +(defconstant group-firecanyon-lava-9 (-> *part-group-id-table* 236)) +(defconstant group-firecanyon-lava-10 (-> *part-group-id-table* 237)) +(defconstant group-firecanyon-lava-11 (-> *part-group-id-table* 238)) +(defconstant group-firecanyon-lava-14 (-> *part-group-id-table* 239)) +(defconstant group-firecanyon-lava-15 (-> *part-group-id-table* 240)) +(defconstant group-firecanyon-lava-16 (-> *part-group-id-table* 241)) +(defconstant group-firecanyon-lava-18 (-> *part-group-id-table* 242)) +(defconstant group-firecanyon-lava-19 (-> *part-group-id-table* 243)) +(defconstant group-firecanyon-lava-21 (-> *part-group-id-table* 244)) +(defconstant group-firecanyon-lava-22 (-> *part-group-id-table* 245)) +(defconstant group-firecanyon-lava-60 (-> *part-group-id-table* 246)) +(defconstant group-firecanyon-lava-62 (-> *part-group-id-table* 247)) +(defconstant group-firecanyon-lava-63 (-> *part-group-id-table* 248)) +(defconstant group-firecanyon-lava-64 (-> *part-group-id-table* 249)) +(defconstant group-firecanyon-heat-44 (-> *part-group-id-table* 250)) +(defconstant group-firecanyon-heat-45 (-> *part-group-id-table* 251)) +(defconstant group-firecanyon-heat-46 (-> *part-group-id-table* 252)) +(defconstant group-firecanyon-heat-47 (-> *part-group-id-table* 253)) +(defconstant group-firecanyon-heat-48 (-> *part-group-id-table* 254)) +(defconstant group-firecanyon-heat-50 (-> *part-group-id-table* 255)) +(defconstant group-firecanyon-heat-52 (-> *part-group-id-table* 256)) +(defconstant group-firecanyon-heat-53 (-> *part-group-id-table* 257)) +(defconstant group-firecanyon-heat-54 (-> *part-group-id-table* 258)) +(defconstant group-firecanyon-heat-55 (-> *part-group-id-table* 259)) +(defconstant group-firecanyon-heat-56 (-> *part-group-id-table* 260)) +(defconstant group-firecanyon-heat-57 (-> *part-group-id-table* 261)) +(defconstant group-firecanyon-heat-58 (-> *part-group-id-table* 262)) +(defconstant group-firecanyon-heat-59 (-> *part-group-id-table* 263)) +(defconstant group-village2-moth (-> *part-group-id-table* 264)) +(defconstant group-village2-tableflys (-> *part-group-id-table* 265)) +(defconstant group-village2-flamepot (-> *part-group-id-table* 266)) +(defconstant group-village2-flamepot-half (-> *part-group-id-table* 267)) +(defconstant group-village2-flamepot-alt1 (-> *part-group-id-table* 268)) +(defconstant group-village2-flamepot-alt2 (-> *part-group-id-table* 269)) +(defconstant group-village2-flamepot-off (-> *part-group-id-table* 270)) +(defconstant group-village2-fireboulder (-> *part-group-id-table* 271)) +(defconstant group-village2-window-flames-45 (-> *part-group-id-table* 272)) +(defconstant group-village2-window-flames-41 (-> *part-group-id-table* 273)) +(defconstant group-village2-big-boulder (-> *part-group-id-table* 274)) +(defconstant group-village2-sages-controlpanel (-> *part-group-id-table* 275)) +(defconstant group-village2-sages-machine (-> *part-group-id-table* 276)) +(defconstant group-village2-waterfall-29 (-> *part-group-id-table* 277)) +(defconstant group-village2-waterfall-30 (-> *part-group-id-table* 278)) +(defconstant group-village2-waterfall-31 (-> *part-group-id-table* 279)) +(defconstant group-village2-waterfall-32 (-> *part-group-id-table* 280)) +(defconstant group-village2-waterfall-33 (-> *part-group-id-table* 281)) +(defconstant group-village2-waterfall-34 (-> *part-group-id-table* 282)) +(defconstant group-village2-sagehut-warpgate (-> *part-group-id-table* 283)) +(defconstant group-village2-tree-fire (-> *part-group-id-table* 284)) +(defconstant group-tetherrock-explode (-> *part-group-id-table* 285)) +(defconstant group-swamp-tether-rock-hit (-> *part-group-id-table* 287)) +(defconstant group-assistant-bluehut-torch (-> *part-group-id-table* 288)) +(defconstant group-swamp-spike-up (-> *part-group-id-table* 289)) +(defconstant group-swamp-spike-down (-> *part-group-id-table* 290)) +(defconstant group-swamp-rock-explosion (-> *part-group-id-table* 291)) +(defconstant group-swamp-rat-nest-a-explosion (-> *part-group-id-table* 292)) +(defconstant group-swamp-rat-nest-b-explosion (-> *part-group-id-table* 293)) +(defconstant group-swamp-rat-nest-c-explosion (-> *part-group-id-table* 294)) +(defconstant group-swamp-rat-nest-a-puff (-> *part-group-id-table* 295)) +(defconstant group-swamp-rat-nest-b-puff (-> *part-group-id-table* 296)) +(defconstant group-swamp-rat-nest-c-puff (-> *part-group-id-table* 297)) +(defconstant group-kermit-charging-up (-> *part-group-id-table* 298)) +(defconstant group-kermit-charged-up (-> *part-group-id-table* 299)) +(defconstant group-kermit-pulse (-> *part-group-id-table* 300)) +(defconstant group-kermit-pulse-impact (-> *part-group-id-table* 301)) +(defconstant group-swamp-bayou-billy-hut (-> *part-group-id-table* 302)) +(defconstant group-swamp-bubbles-01 (-> *part-group-id-table* 303)) +(defconstant group-swamp-bubbles-02 (-> *part-group-id-table* 304)) +(defconstant group-swamp-bubbles-03 (-> *part-group-id-table* 305)) +(defconstant group-swamp-bubbles-04 (-> *part-group-id-table* 306)) +(defconstant group-swamp-bubbles-05 (-> *part-group-id-table* 307)) +(defconstant group-swamp-bubbles-06 (-> *part-group-id-table* 308)) +(defconstant group-swamp-bubbles-07 (-> *part-group-id-table* 309)) +(defconstant group-swamp-bubbles-08 (-> *part-group-id-table* 310)) +(defconstant group-swamp-bubbles-09 (-> *part-group-id-table* 311)) +(defconstant group-swamp-bubbles-10 (-> *part-group-id-table* 312)) +(defconstant group-swamp-bubbles-11 (-> *part-group-id-table* 313)) +(defconstant group-swamp-bubbles-12 (-> *part-group-id-table* 314)) +(defconstant group-swamp-bubbles-13 (-> *part-group-id-table* 315)) +(defconstant group-swamp-bubbles-14 (-> *part-group-id-table* 316)) +(defconstant group-swamp-torch (-> *part-group-id-table* 317)) +(defconstant group-part-maincave-torch (-> *part-group-id-table* 318)) +(defconstant group-cave-cavedrip-1 (-> *part-group-id-table* 319)) +(defconstant group-cave-cavedrip-2 (-> *part-group-id-table* 320)) +(defconstant group-cave-cavedrip-3 (-> *part-group-id-table* 321)) +(defconstant group-dark-crystal-gnd-explode (-> *part-group-id-table* 322)) +(defconstant group-dark-crystal-water-explode (-> *part-group-id-table* 323)) +(defconstant group-spider-egg-hatches (-> *part-group-id-table* 324)) +(defconstant group-spider-egg-explodes (-> *part-group-id-table* 325)) +(defconstant group-mother-spider-proj-fly (-> *part-group-id-table* 326)) +(defconstant group-mother-spider-proj-hit (-> *part-group-id-table* 327)) +(defconstant group-mother-spider-proj-die (-> *part-group-id-table* 328)) +(defconstant group-gnawer-loses-segment (-> *part-group-id-table* 329)) +(defconstant group-gnawer-crumbs (-> *part-group-id-table* 330)) +(defconstant group-driller-lurker-drilling-debris (-> *part-group-id-table* 331)) +(defconstant group-sunken-heatpipe-183 (-> *part-group-id-table* 332)) +(defconstant group-sunken-tunnel-bubbles-27 (-> *part-group-id-table* 333)) +(defconstant group-sunken-tunnel-bubbles-32 (-> *part-group-id-table* 334)) +(defconstant group-sunken-tunnel-bubbles-33 (-> *part-group-id-table* 335)) +(defconstant group-sunken-tunnel-bubbles-199 (-> *part-group-id-table* 336)) +(defconstant group-sunken-tunnel-bubbles-281 (-> *part-group-id-table* 337)) +(defconstant group-sunken-tunnel-bubbles-202 (-> *part-group-id-table* 338)) +(defconstant group-sunken-window-bubbles-35 (-> *part-group-id-table* 339)) +(defconstant group-sunken-helix-bubbles-398 (-> *part-group-id-table* 340)) +(defconstant group-sunken-helix-bubbles-397 (-> *part-group-id-table* 341)) +(defconstant group-sunken-heatpipe-355 (-> *part-group-id-table* 342)) +(defconstant group-sunken-heatpipe-361 (-> *part-group-id-table* 343)) +(defconstant group-sunken-heatpipe-360 (-> *part-group-id-table* 344)) +(defconstant group-sunken-heatpipe-377 (-> *part-group-id-table* 345)) +(defconstant group-sunken-heatpipe-376 (-> *part-group-id-table* 346)) +(defconstant group-sunken-heatpipe-375 (-> *part-group-id-table* 347)) +(defconstant group-sunken-heatpipe-374 (-> *part-group-id-table* 348)) +(defconstant group-sunken-heatpipe-363 (-> *part-group-id-table* 349)) +(defconstant group-sunken-heatpipe-362 (-> *part-group-id-table* 350)) +(defconstant group-sunken-heatpipe-364 (-> *part-group-id-table* 351)) +(defconstant group-sunken-heatpipe-365 (-> *part-group-id-table* 352)) +(defconstant group-sunken-window-bubbles-34 (-> *part-group-id-table* 353)) +(defconstant group-sunken-window-bubbles-36 (-> *part-group-id-table* 354)) +(defconstant group-sunken-window-bubbles-30 (-> *part-group-id-table* 355)) +(defconstant group-sunken-window-bubbles-31 (-> *part-group-id-table* 356)) +(defconstant group-sunken-window-bubbles-29 (-> *part-group-id-table* 357)) +(defconstant group-sunken-window-bubbles-159 (-> *part-group-id-table* 358)) +(defconstant group-sunken-window-bubbles-161 (-> *part-group-id-table* 359)) +(defconstant group-sunken-window-bubbles-204 (-> *part-group-id-table* 360)) +(defconstant group-sunken-window-bubbles-205 (-> *part-group-id-table* 361)) +(defconstant group-sunken-window-bubbles-203 (-> *part-group-id-table* 362)) +(defconstant group-sunken-window-bubbles-42 (-> *part-group-id-table* 363)) +(defconstant group-sunken-window-bubbles-41 (-> *part-group-id-table* 364)) +(defconstant group-sunken-window-bubbles-206 (-> *part-group-id-table* 365)) +(defconstant group-sunken-window-bubbles-201 (-> *part-group-id-table* 366)) +(defconstant group-sunken-window-bubbles-3 (-> *part-group-id-table* 367)) +(defconstant group-sunken-window-bubbles-2 (-> *part-group-id-table* 368)) +(defconstant group-sunken-heatpipe-382 (-> *part-group-id-table* 369)) +(defconstant group-sunken-heatpipe-381 (-> *part-group-id-table* 370)) +(defconstant group-sunken-heatpipe-380 (-> *part-group-id-table* 371)) +(defconstant group-sunken-heatpipe-379 (-> *part-group-id-table* 372)) +(defconstant group-sunken-heatpipe-378 (-> *part-group-id-table* 373)) +(defconstant group-sunken-window-bubbles-402 (-> *part-group-id-table* 374)) +(defconstant group-sunken-window-bubbles-401 (-> *part-group-id-table* 375)) +(defconstant group-sunken-window-bubbles-400 (-> *part-group-id-table* 376)) +(defconstant group-sunken-window-bubbles-399 (-> *part-group-id-table* 377)) +(defconstant group-sunken-heatpipe-383 (-> *part-group-id-table* 378)) +(defconstant group-sunken-heatpipe-198 (-> *part-group-id-table* 379)) +(defconstant group-sunken-heatpipe-189 (-> *part-group-id-table* 380)) +(defconstant group-sunken-heatpipe-193 (-> *part-group-id-table* 381)) +(defconstant group-sunken-heatpipe-207 (-> *part-group-id-table* 382)) +(defconstant group-sunken-window-bubbles-388 (-> *part-group-id-table* 383)) +(defconstant group-sunken-window-bubbles-387 (-> *part-group-id-table* 384)) +(defconstant group-sunken-window-bubbles-386 (-> *part-group-id-table* 385)) +(defconstant group-sunken-window-bubbles-384 (-> *part-group-id-table* 386)) +(defconstant group-sunken-window-bubbles-385 (-> *part-group-id-table* 387)) +(defconstant group-sunken-window-bubbles-394 (-> *part-group-id-table* 388)) +(defconstant group-sunken-window-bubbles-390 (-> *part-group-id-table* 389)) +(defconstant group-sunken-window-bubbles-393 (-> *part-group-id-table* 390)) +(defconstant group-sunken-window-bubbles-392 (-> *part-group-id-table* 391)) +(defconstant group-sunken-window-bubbles-38 (-> *part-group-id-table* 392)) +(defconstant group-sunken-window-bubbles-200 (-> *part-group-id-table* 393)) +(defconstant group-sunken-window-bubbles-391 (-> *part-group-id-table* 394)) +(defconstant group-sunken-heatpipe-282 (-> *part-group-id-table* 395)) +(defconstant group-sunken-heatpipe-285 (-> *part-group-id-table* 396)) +(defconstant group-sunken-heatpipe-288 (-> *part-group-id-table* 397)) +(defconstant group-sunken-heatpipe-299 (-> *part-group-id-table* 398)) +(defconstant group-sunken-heatpipe-302 (-> *part-group-id-table* 399)) +(defconstant group-sunken-heatpipe-367 (-> *part-group-id-table* 400)) +(defconstant group-sunken-heatpipe-371 (-> *part-group-id-table* 401)) +(defconstant group-sunken-heatpipe-308 (-> *part-group-id-table* 402)) +(defconstant group-sunken-heatpipe-312 (-> *part-group-id-table* 403)) +(defconstant group-sunken-heatpipe-316 (-> *part-group-id-table* 404)) +(defconstant group-sunken-heatpipe-320 (-> *part-group-id-table* 405)) +(defconstant group-sunken-heatpipe-324 (-> *part-group-id-table* 406)) +(defconstant group-sunken-heatpipe-328 (-> *part-group-id-table* 407)) +(defconstant group-sunken-heatpipe-332 (-> *part-group-id-table* 408)) +(defconstant group-sunken-heatpipe-333 (-> *part-group-id-table* 409)) +(defconstant group-sunken-heatpipe-334 (-> *part-group-id-table* 410)) +(defconstant group-sunken-heatpipe-335 (-> *part-group-id-table* 411)) +(defconstant group-sunken-heatpipe-336 (-> *part-group-id-table* 412)) +(defconstant group-sunken-heatpipe-337 (-> *part-group-id-table* 413)) +(defconstant group-sunken-heatpipe-338 (-> *part-group-id-table* 414)) +(defconstant group-sunken-heatpipe-339 (-> *part-group-id-table* 415)) +(defconstant group-sunken-heatpipe-340 (-> *part-group-id-table* 416)) +(defconstant group-sunken-heatpipe-341 (-> *part-group-id-table* 417)) +(defconstant group-sunken-heatpipe-357 (-> *part-group-id-table* 418)) +(defconstant group-sunken-heatpipe-356 (-> *part-group-id-table* 419)) +(defconstant group-sunken-heatpipe-354 (-> *part-group-id-table* 420)) +(defconstant group-sunken-heatpipe-227 (-> *part-group-id-table* 421)) +(defconstant group-sunken-heatpipe-238 (-> *part-group-id-table* 422)) +(defconstant group-sunken-heatpipe-239 (-> *part-group-id-table* 423)) +(defconstant group-sunken-heatpipe-240 (-> *part-group-id-table* 424)) +(defconstant group-sunken-heatpipe-241 (-> *part-group-id-table* 425)) +(defconstant group-sunken-heatpipe-242 (-> *part-group-id-table* 426)) +(defconstant group-sunken-heatpipe-243 (-> *part-group-id-table* 427)) + diff --git a/goal_src/jak1/engine/game/projectiles.gc b/goal_src/jak1/engine/game/projectiles.gc index c03dc414f7..c1a7c8868b 100644 --- a/goal_src/jak1/engine/game/projectiles.gc +++ b/goal_src/jak1/engine/game/projectiles.gc @@ -48,10 +48,10 @@ (s4-1 (if (and (nonzero? s3-0) (type-type? (-> s3-0 type) collide-shape)) s3-0))) (when (the-as collide-shape-moving s4-1) (let* ((s3-1 (-> s4-1 root-prim prim-core)) - (f30-0 (- (vector-vector-distance (-> gp-0 point) (the-as vector s3-1)) (-> s3-1 world-sphere w)))) + (f30-0 (- (vector-vector-distance (-> gp-0 point) (-> s3-1 world-sphere)) (-> s3-1 world-sphere w)))) (when (nonzero? (-> s4-1 root-prim prim-core collide-as)) (let ((s4-2 0) - (v1-8 (vector-normalize! (vector-! (new 'stack-no-clear 'vector) (the-as vector s3-1) (-> gp-0 point)) 1.0))) + (v1-8 (vector-normalize! (vector-! (new 'stack-no-clear 'vector) (-> s3-1 world-sphere) (-> gp-0 point)) 1.0))) (if (logtest? (process-mask enemy) (-> s5-0 mask)) (set! s4-2 (logior s4-2 1))) (if (and (nonzero? (-> s5-0 draw)) (logtest? (-> s5-0 draw status) (draw-status was-drawn))) (set! s4-2 (logior s4-2 2))) (let ((a0-16 (logand s4-2 (-> gp-0 mask)))) @@ -79,7 +79,7 @@ (set-and-handle-pat! arg0 (-> arg1 best-tri pat)) (case (-> arg1 best-tri pat material) (((pat-material stopproj)) (send-event (-> arg0 process) 'die))) - (vector-! sv-64 (the-as vector (-> arg1 best-from-prim prim-core)) (-> arg1 best-tri intersect)) + (vector-! sv-64 (-> arg1 best-from-prim prim-core world-sphere) (-> arg1 best-tri intersect)) (set! (-> sv-64 w) 1.0) (vector-normalize! sv-64 1.0) (set! (-> arg0 coverage) (vector-dot sv-64 (-> arg1 best-tri normal))) @@ -506,7 +506,7 @@ :init-specs ((:fade-r -0.53333336) (:fade-g -0.53333336) (:fade-b -1.0666667) (:fade-a -0.53333336))) (defmethod projectile-method-24 ((this projectile)) - (spawn (-> this part) (the-as vector (-> this root root-prim prim-core))) + (spawn (-> this part) (-> this root root-prim prim-core world-sphere)) 0 (none)) @@ -604,7 +604,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 104) + group-part-yellow-eco-fireball-hit -1 #f #f @@ -624,7 +624,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 104) + group-part-yellow-eco-fireball-hit -1 #f #f @@ -739,9 +739,9 @@ (sound-play "yellow-fire") (set! (-> this sound-id) (sound-play "yellow-buzz")) (if (not (logtest? (-> this options) 416)) - (process-spawn part-tracker :init part-tracker-init (-> *part-group-id-table* 103) -1 #f #f #f s5-0 :to this)) + (process-spawn part-tracker :init part-tracker-init group-part-yellow-eco-fireball-launcher -1 #f #f #f s5-0 :to this)) (set! (-> *part-id-table* 350 init-specs 2 initial-valuef) f30-0))) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 102) this)) + (set! (-> this part) (create-launch-control group-yellow-eco-fireball this)) (when *target* (case (-> *target* current-level name) (('swamp) @@ -790,8 +790,8 @@ (set! (-> *part-id-table* 353 init-specs 16 initial-valuef) (the-as float 0)) (set! (-> *part-id-table* 353 init-specs 16 random-rangef) (the-as float 0)) 0) - (spawn (-> this part) (the-as vector (-> this root root-prim prim-core))))) - (else (spawn (-> this part) (the-as vector (-> this root root-prim prim-core))))) + (spawn (-> this part) (-> this root root-prim prim-core world-sphere)))) + (else (spawn (-> this part) (-> this root root-prim prim-core world-sphere)))) (let ((s5-0 (the-as sound-rpc-set-param (get-sound-buffer-entry)))) (set! (-> s5-0 command) (sound-command set-param)) (set! (-> s5-0 id) (-> this sound-id)) @@ -853,7 +853,7 @@ (vector+float*! (-> this target) (-> this root trans) (-> this root transv) 2.0) (set! (-> this target-base quad) (-> this target quad)) (set! (-> this mask) (the-as process-mask (logior (process-mask ambient) (-> this mask)))) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 42) this)) + (set! (-> this part) (create-launch-control group-eco-blue this)) (set! (-> this root root-prim collide-with) (collide-kind background)) (let* ((s5-1 (handle->process (-> this last-target))) (v1-20 (if (and (nonzero? s5-1) (type-type? (-> s5-1 type) process-drawable)) s5-1))) @@ -925,7 +925,7 @@ (none)) (defmethod projectile-method-24 ((this projectile-blue)) - (if (rand-vu-percent? 0.75) (eco-blue-glow (the-as vector (-> this root root-prim prim-core)))) + (if (rand-vu-percent? 0.75) (eco-blue-glow (-> this root root-prim prim-core world-sphere))) 0 (none)) diff --git a/goal_src/jak1/engine/gfx/mood/time-of-day.gc b/goal_src/jak1/engine/gfx/mood/time-of-day.gc index ec2a274c2e..e8a1e0810b 100644 --- a/goal_src/jak1/engine/gfx/mood/time-of-day.gc +++ b/goal_src/jak1/engine/gfx/mood/time-of-day.gc @@ -126,9 +126,9 @@ (set! (-> self time-of-day) 0.0) (if *time-of-day-fast* (set! (-> self time-ratio) 18000.0) (set! (-> self time-ratio) 300.0)) (set! (-> self star-count) 0) - (set! (-> self stars) (create-launch-control (-> *part-group-id-table* 34) self)) - (set! (-> self sun) (create-launch-control (-> *part-group-id-table* 35) self)) - (set! (-> self green-sun) (create-launch-control (-> *part-group-id-table* 36) self)) + (set! (-> self stars) (create-launch-control group-stars self)) + (set! (-> self sun) (create-launch-control group-sun self)) + (set! (-> self green-sun) (create-launch-control group-green-sun self)) (go time-of-day-tick) (none)) diff --git a/goal_src/jak1/engine/gfx/sprite/sparticle/sparticle-launcher-h.gc b/goal_src/jak1/engine/gfx/sprite/sparticle/sparticle-launcher-h.gc index e457af199d..1e4b040856 100644 --- a/goal_src/jak1/engine/gfx/sprite/sparticle/sparticle-launcher-h.gc +++ b/goal_src/jak1/engine/gfx/sprite/sparticle/sparticle-launcher-h.gc @@ -247,7 +247,7 @@ (defmacro defpartgroup (name &key id &key parts &key (duration 3000) &key (linger-duration 1500) &key (flags ()) &key bounds) "define a new part group. defines a constant with the name of the group with the ID as its value" `(begin - (defconstant ,name ,id) + ; (defconstant ,name ,id) (set! (-> *part-group-id-table* ,id) (new 'static 'sparticle-launch-group diff --git a/goal_src/jak1/engine/target/target-death.gc b/goal_src/jak1/engine/target/target-death.gc index 536fa63b65..329b59d116 100644 --- a/goal_src/jak1/engine/target/target-death.gc +++ b/goal_src/jak1/engine/target/target-death.gc @@ -69,7 +69,7 @@ (quaternion-copy! (-> self control unknown-quaternion00) (-> arg0 quat)) (move-to-point! (-> self control) (-> arg0 trans)) (rot->dir-targ! (-> self control)) - (set! (-> (&-> (-> self control) unknown-qword00) 0) (-> self control trans quad)) + (set! (-> (&-> self control unknown-qword00) 0) (-> self control trans quad)) (cond ((not (string= (-> arg0 name) "default")) (set! *external-cam-mode* #f) (cam-stop) (suspend) 0) (else (send-event *camera* 'clear-entity) (send-event *camera* 'change-state cam-fixed 0) (suspend) 0)) @@ -382,7 +382,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 1) + group-target-hit -1 #f #f @@ -647,7 +647,7 @@ (compute-alignment! (-> self align)) (let ((s5-0 (new 'stack-no-clear 'vector))) (when (not (logtest? (-> self align flags) (align-flags disabled))) - (vector-matrix*! s5-0 (the-as vector (-> self align delta)) (-> self control unknown-matrix01)) + (vector-matrix*! s5-0 (-> self align delta trans) (-> self control unknown-matrix01)) (vector-float*! (-> self control transv) s5-0 (-> *display* frames-per-second)))) (suspend) (ja :num! (seek!))) @@ -747,7 +747,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 31) + group-dark-eco-death -1 #f #f @@ -760,7 +760,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 32) + group-lava-death -1 #f #f @@ -809,7 +809,8 @@ (target-falling-anim (seconds 0.1) (seconds 0.33)) (ja-channel-push! 1 (seconds 0.3)) (ja-no-eval :group! eichar-launch-jump-loop-ja :num! (loop! 0.5) :frame-num 0.0) - (suspend-for (seconds 0.8) (ja :group! eichar-launch-jump-loop-ja :num! (loop! 0.5))) + (suspend-for (seconds 0.8) + (ja :group! eichar-launch-jump-loop-ja :num! (loop! 0.5))) (camera-change-to (the-as string 'base) 0 #f)) (('target-hit-ground-hard) (set! (-> self control unknown-surface00) *neutral-mods*) @@ -859,7 +860,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 708) + group-burn-death -1 #f #f diff --git a/goal_src/jak1/engine/target/target-handler.gc b/goal_src/jak1/engine/target/target-handler.gc index 665ebf7145..6b3d0f3b50 100644 --- a/goal_src/jak1/engine/target/target-handler.gc +++ b/goal_src/jak1/engine/target/target-handler.gc @@ -213,7 +213,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 1) + group-target-hit -1 #f #f @@ -284,7 +284,7 @@ (let ((s3-0 run-function-in-process) (s2-0 s4-0) (s1-0 part-tracker-init) - (s0-0 (-> *part-group-id-table* 4))) + (s0-0 group-spin-hit)) (set! sv-224 -1) (set! sv-240 (the-as symbol #f)) (set! sv-256 (the-as symbol #f)) @@ -319,7 +319,7 @@ (let ((s3-1 run-function-in-process) (s2-1 s4-1) (s1-1 part-tracker-init) - (s0-1 (-> *part-group-id-table* 5))) + (s0-1 group-punch-hit)) (set! sv-288 -1) (set! sv-304 (the-as symbol #f)) (set! sv-320 (the-as symbol #f)) @@ -343,7 +343,7 @@ (let ((s3-2 run-function-in-process) (s2-2 s4-2) (s1-2 part-tracker-init) - (s0-2 (-> *part-group-id-table* 5))) + (s0-2 group-punch-hit)) (set! sv-352 -1) (set! sv-368 (the-as symbol #f)) (set! sv-384 (the-as symbol #f)) @@ -385,7 +385,7 @@ (let ((s3-3 run-function-in-process) (s2-3 s4-3) (s1-3 part-tracker-init) - (s0-3 (-> *part-group-id-table* 5))) + (s0-3 group-punch-hit)) (set! sv-416 -1) (set! sv-432 (the-as symbol #f)) (set! sv-448 (the-as symbol #f)) @@ -409,7 +409,7 @@ (let ((s3-4 run-function-in-process) (s2-4 s4-4) (s1-4 part-tracker-init) - (s0-4 (-> *part-group-id-table* 5))) + (s0-4 group-punch-hit)) (set! sv-480 -1) (set! sv-496 (the-as symbol #f)) (set! sv-512 (the-as symbol #f)) @@ -486,7 +486,7 @@ (set! (-> self attack-info-rec attacker) (process->handle arg0)) (logior! (-> self attack-info-rec mask) (attack-mask attacker))) (go target-hit 'shove (-> self attack-info-rec)))) - (('launch) (mem-copy! (&-> (-> self control) unknown-pointer00) (the-as pointer arg3) 72) #t) + (('launch) (mem-copy! (&-> self control unknown-pointer00) (the-as pointer arg3) 72) #t) (('powerup) (if (or (= (-> self next-state name) 'target-stance) (= (-> self next-state name) 'target-walk) @@ -576,7 +576,7 @@ (vector-dot (-> self control dynam gravity-normal) (vector-! (new 'stack-no-clear 'vector) (-> self control transv) (-> self control unknown-vector10)))) (begin - (vector-normalize! (vector-! s4-0 (the-as vector (-> self control unknown-sphere-array00 0 prim-core)) (-> self control unknown-vector72)) + (vector-normalize! (vector-! s4-0 (-> self control unknown-sphere-array00 0 prim-core world-sphere) (-> self control unknown-vector72)) (the-as float 1.0)) (< 0.01 (-> s4-0 y)))) (if (< 0.75 (-> s4-0 y)) diff --git a/goal_src/jak1/engine/target/target2.gc b/goal_src/jak1/engine/target/target2.gc index 91f7d5ff81..523cca5124 100644 --- a/goal_src/jak1/engine/target/target2.gc +++ b/goal_src/jak1/engine/target/target2.gc @@ -134,7 +134,7 @@ (when (< (-> self nb-of-particles) (-> self max-nb-of-particles)) (let ((gp-0 (-> self nb-of-particles))) (set! (-> self particles gp-0) (new 'static 'hud-particle)) - (set! (-> self particles gp-0 part) (create-launch-control (-> *part-group-id-table* 611) self)) + (set! (-> self particles gp-0 part) (create-launch-control group-part-first-person-hud-left self)) (set! (-> self particles gp-0 init-pos x) -320.0) (set! (-> self particles gp-0 init-pos y) 254.0) (set! (-> self particles gp-0 init-pos z) 15.0) @@ -143,7 +143,7 @@ (when (< (-> self nb-of-particles) (-> self max-nb-of-particles)) (let ((gp-1 (-> self nb-of-particles))) (set! (-> self particles gp-1) (new 'static 'hud-particle)) - (set! (-> self particles gp-1 part) (create-launch-control (-> *part-group-id-table* 612) self)) + (set! (-> self particles gp-1 part) (create-launch-control group-part-first-person-hud-right self)) (set! (-> self particles gp-1 init-pos x) -320.0) (set! (-> self particles gp-1 init-pos y) 192.0) (set! (-> self particles gp-1 init-pos z) 15.0) @@ -152,7 +152,7 @@ (when (< (-> self nb-of-particles) (-> self max-nb-of-particles)) (let ((gp-2 (-> self nb-of-particles))) (set! (-> self particles gp-2) (new 'static 'hud-particle)) - (set! (-> self particles gp-2 part) (create-launch-control (-> *part-group-id-table* 613) self)) + (set! (-> self particles gp-2 part) (create-launch-control group-part-first-person-hud-selector self)) (set! (-> self particles gp-2 init-pos x) 256.0) (set! (-> self particles gp-2 init-pos y) 244.0) (set! (-> self particles gp-2 init-pos z) 15.0) @@ -817,7 +817,7 @@ (target-compute-edge-rider) (compute-alignment! (-> self align)) (when (not (logtest? (-> self align flags) (align-flags disabled))) - (vector-matrix*! s4-0 (the-as vector (-> self align delta)) (-> self control unknown-matrix01)) + (vector-matrix*! s4-0 (-> self align delta trans) (-> self control unknown-matrix01)) (move-by-vector! (-> self control) s4-0)) (suspend) (ja :num! (seek!)))) @@ -843,7 +843,7 @@ (until (ja-done? 0) (compute-alignment! (-> self align)) (when (not (logtest? (-> self align flags) (align-flags disabled))) - (vector-matrix*! gp-0 (the-as vector (-> self align delta)) (-> self control unknown-matrix01)) + (vector-matrix*! gp-0 (-> self align delta trans) (-> self control unknown-matrix01)) (move-by-vector! (-> self control) gp-0)) (suspend) (ja :num! (seek! (ja-aframe (the-as float 191.0) 0))))) @@ -1768,7 +1768,7 @@ (send-event (ppointer->process (-> self sidekick)) 'matrix 'normal) (send-event (ppointer->process (-> self sidekick)) 'shadow #t) (let ((gp-0 (joint-node eichar-lod0-jg main)) - (a1-2 (&-> (-> self control) unknown-qword00))) + (a1-2 (&-> self control unknown-qword00))) (cond ((not (-> self control unknown-spoolanim00))) ((not (logtest? (-> self draw status) (draw-status hidden))) diff --git a/goal_src/jak1/engine/ui/hud-classes.gc b/goal_src/jak1/engine/ui/hud-classes.gc index e9717668ff..37f5308e77 100644 --- a/goal_src/jak1/engine/ui/hud-classes.gc +++ b/goal_src/jak1/engine/ui/hud-classes.gc @@ -118,6 +118,7 @@ (deftype hud-pickups (hud) ()) + (defmethod draw-hud ((this hud-pickups)) (let ((t9-0 (method-of-type hud draw-hud))) (t9-0 this)) (let* ((s5-0 (-> *display* frames (-> *display* on-screen) frame global-buf)) @@ -154,7 +155,7 @@ (when (< (-> this nb-of-particles) (-> this max-nb-of-particles)) (let ((s5-0 (-> this nb-of-particles))) (set! (-> this particles s5-0) (new 'static 'hud-particle)) - (set! (-> this particles s5-0 part) (create-launch-control (-> *part-group-id-table* 75) this)) + (set! (-> this particles s5-0 part) (create-launch-control group-part-hud-pickup this)) (set! (-> this particles s5-0 init-pos x) 110.0) (set! (-> this particles s5-0 init-pos y) 55.0) (set! (-> this particles s5-0 init-pos z) 1.0) @@ -233,6 +234,7 @@ (deftype hud-health (hud) ((scale float))) + (defun part-hud-health-01-func ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 matrix)) (let ((f0-0 (-> *hud-parts* health 0 scale))) (set! (-> arg2 vector 0 w) f0-0) (set! (-> arg2 vector 1 w) f0-0)) (cond @@ -281,7 +283,7 @@ (when (< (-> this nb-of-particles) (-> this max-nb-of-particles)) (let ((s5-0 (-> this nb-of-particles))) (set! (-> this particles s5-0) (new 'static 'hud-particle)) - (set! (-> this particles s5-0 part) (create-launch-control (-> *part-group-id-table* 76) this)) + (set! (-> this particles s5-0 part) (create-launch-control group-part-hud-health-1 this)) (set! (-> this particles s5-0 init-pos x) 61.0) (set! (-> this particles s5-0 init-pos y) 55.0) (set! (-> this particles s5-0 init-pos z) 5.0) @@ -290,7 +292,7 @@ (when (< (-> this nb-of-particles) (-> this max-nb-of-particles)) (let ((s5-1 (-> this nb-of-particles))) (set! (-> this particles s5-1) (new 'static 'hud-particle)) - (set! (-> this particles s5-1 part) (create-launch-control (-> *part-group-id-table* 77) this)) + (set! (-> this particles s5-1 part) (create-launch-control group-part-hud-health-2 this)) (set! (-> this particles s5-1 init-pos x) 98.0) (set! (-> this particles s5-1 init-pos y) 55.0) (set! (-> this particles s5-1 init-pos z) 5.0) @@ -299,7 +301,7 @@ (when (< (-> this nb-of-particles) (-> this max-nb-of-particles)) (let ((s5-2 (-> this nb-of-particles))) (set! (-> this particles s5-2) (new 'static 'hud-particle)) - (set! (-> this particles s5-2 part) (create-launch-control (-> *part-group-id-table* 78) this)) + (set! (-> this particles s5-2 part) (create-launch-control group-part-hud-health-3 this)) (set! (-> this particles s5-2 init-pos x) 70.0) (set! (-> this particles s5-2 init-pos y) 76.0) (set! (-> this particles s5-2 init-pos z) 5.0) @@ -369,6 +371,7 @@ (level-index int32) (start-time time-frame))) + (defmethod draw-hud ((this hud-money-all)) (let ((t9-0 (method-of-type hud draw-hud))) (t9-0 this)) 0 @@ -385,9 +388,9 @@ 0.0 (font-color red) (font-flags shadow kerning)))) - (let ((v1-12 s5-1)) (set! (-> v1-12 width) (the float 228))) - (let ((v1-13 s5-1)) (set! (-> v1-13 height) (the float 45))) - (let ((v1-14 s5-1)) (set! (-> v1-14 scale) 0.6)) + (set-width! s5-1 228) + (set-height! s5-1 45) + (set-scale! s5-1 0.6) (set! (-> s5-1 flags) (font-flags shadow kerning middle middle-vert large)) (print-game-text (lookup-text! *common-text* (-> *level-task-data* (-> this level-index) level-name-id) #f) s5-1 @@ -462,7 +465,7 @@ (when (< (-> this nb-of-particles) (-> this max-nb-of-particles)) (let ((s4-1 (-> this nb-of-particles))) (set! (-> this particles s4-1) (new 'static 'hud-particle)) - (set! (-> this particles s4-1 part) (create-launch-control (-> *part-group-id-table* 705) this)) + (set! (-> this particles s4-1 part) (create-launch-control group-part-hud-orb-all this)) (set! (-> this particles s4-1 init-pos x) 172.0) (set! (-> this particles s4-1 init-pos y) 330.0) (set! (-> this particles s4-1 init-pos z) 2.0) @@ -611,7 +614,7 @@ (when (< (-> this nb-of-particles) (-> this max-nb-of-particles)) (let ((s5-1 (-> this nb-of-particles))) (set! (-> this particles s5-1) (new 'static 'hud-particle)) - (set! (-> this particles s5-1 part) (create-launch-control (-> *part-group-id-table* 79) this)) + (set! (-> this particles s5-1 part) (create-launch-control group-part-hud-orb this)) (set! (-> this particles s5-1 init-pos x) 400.0) (set! (-> this particles s5-1 init-pos y) 58.0) (set! (-> this particles s5-1 init-pos z) 2.0) @@ -853,6 +856,7 @@ (scale-center float) (icon-pos-y int32))) + (defmethod draw-hud ((this hud-fuel-cell)) (let ((t9-0 (method-of-type hud draw-hud))) (t9-0 this)) (with-dma-buffer-add-bucket ((buf (-> (current-frame) global-buf)) (bucket-id debug)) @@ -953,7 +957,7 @@ (when (< (-> this nb-of-particles) (-> this max-nb-of-particles)) (let ((s5-0 (-> this nb-of-particles))) (set! (-> this particles s5-0) (new 'static 'hud-particle)) - (set! (-> this particles s5-0 part) (create-launch-control (-> *part-group-id-table* 80) this)) + (set! (-> this particles s5-0 part) (create-launch-control group-part-hud-power-cell-whole this)) (set! (-> this particles s5-0 init-pos x) 256.0) (set! (-> this particles s5-0 init-pos y) 224.0) (set! (-> this particles s5-0 init-pos z) 1.0) @@ -1059,6 +1063,7 @@ ((scale float) (text-y-offset int32))) + (defun part-hud-buzzer-func ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 matrix)) (let ((f0-0 (-> *hud-parts* buzzers 0 scale))) (set! (-> arg2 vector 0 w) f0-0) (set! (-> arg2 vector 1 w) f0-0)) (none)) @@ -1117,7 +1122,7 @@ (when (< (-> this nb-of-particles) (-> this max-nb-of-particles)) (let ((s5-0 (-> this nb-of-particles))) (set! (-> this particles s5-0) (new 'static 'hud-particle)) - (set! (-> this particles s5-0 part) (create-launch-control (-> *part-group-id-table* 81) this)) + (set! (-> this particles s5-0 part) (create-launch-control group-part-hud-buzzer this)) (set! (-> this particles s5-0 init-pos x) 60.0) (set! (-> this particles s5-0 init-pos y) 380.0) (set! (-> this particles s5-0 init-pos z) 1.0) @@ -1248,6 +1253,7 @@ (scale-backing float) (scale-blue float))) + (defun calculate-rotation-and-color-for-slice ((arg0 int) (arg1 float) (arg2 int) (arg3 int) (arg4 int) (arg5 matrix)) (cond ((>= 0.0 arg1) (set! (-> arg5 vector 1 z) -16566.045)) @@ -1357,7 +1363,7 @@ (when (< (-> this nb-of-particles) (-> this max-nb-of-particles)) (let ((s5-0 (-> this nb-of-particles))) (set! (-> this particles s5-0) (new 'static 'hud-particle)) - (set! (-> this particles s5-0 part) (create-launch-control (-> *part-group-id-table* 83) this)) + (set! (-> this particles s5-0 part) (create-launch-control group-part-hud-eco-timer-backing this)) (set! (-> this particles s5-0 init-pos x) 435.0) (set! (-> this particles s5-0 init-pos y) 370.0) (set! (-> this particles s5-0 init-pos z) 10.0) @@ -1366,7 +1372,7 @@ (when (< (-> this nb-of-particles) (-> this max-nb-of-particles)) (let ((s5-1 (-> this nb-of-particles))) (set! (-> this particles s5-1) (new 'static 'hud-particle)) - (set! (-> this particles s5-1 part) (create-launch-control (-> *part-group-id-table* 84) this)) + (set! (-> this particles s5-1 part) (create-launch-control group-part-hud-timer-blue this)) (set! (-> this particles s5-1 init-pos x) 432.0) (set! (-> this particles s5-1 init-pos y) 368.0) (set! (-> this particles s5-1 init-pos z) 3.0) @@ -1375,7 +1381,7 @@ (when (< (-> this nb-of-particles) (-> this max-nb-of-particles)) (let ((s5-2 (-> this nb-of-particles))) (set! (-> this particles s5-2) (new 'static 'hud-particle)) - (set! (-> this particles s5-2 part) (create-launch-control (-> *part-group-id-table* 82) this)) + (set! (-> this particles s5-2 part) (create-launch-control group-part-hud-eco-timer this)) (set! (-> this particles s5-2 init-pos x) 435.0) (set! (-> this particles s5-2 init-pos y) 370.0) (set! (-> this particles s5-2 init-pos z) 2.0) diff --git a/goal_src/jak1/levels/beach/beach-obs.gc b/goal_src/jak1/levels/beach/beach-obs.gc index c7e331a8e1..1e9d666585 100644 --- a/goal_src/jak1/levels/beach/beach-obs.gc +++ b/goal_src/jak1/levels/beach/beach-obs.gc @@ -310,7 +310,7 @@ (set! (-> this distance) (res-lump-float arg0 'distance :default 3072.0)) (set! (-> this position) 0) (set! (-> this max-position) (res-lump-value arg0 'num-positions int :default (the-as uint128 3))) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 155) this)) + (set! (-> this part) (create-launch-control group-beach-grotto-pole-rocks this)) (set! (-> this position) (-> this entity extra perm user-int16 0)) (move-grottopole-to-position this) (go grottopole-idle) @@ -483,7 +483,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 156) + group-beach-harvester-rock-explosion -1 #f #f diff --git a/goal_src/jak1/levels/beach/beach-rocks.gc b/goal_src/jak1/levels/beach/beach-rocks.gc index de348e0940..aca868f4a4 100644 --- a/goal_src/jak1/levels/beach/beach-rocks.gc +++ b/goal_src/jak1/levels/beach/beach-rocks.gc @@ -349,9 +349,9 @@ (set! (-> this align) (new 'process 'align-control this)) (set! (-> this trigger) #f) (logclear! (-> this mask) (process-mask actor-pause)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 553) this)) - (set! (-> this part-falling) (create-launch-control (-> *part-group-id-table* 554) this)) - (set! (-> this part-landing) (create-launch-control (-> *part-group-id-table* 555) this)) + (set! (-> this part) (create-launch-control group-beach-rocks-start this)) + (set! (-> this part-falling) (create-launch-control group-beach-rocks-fall this)) + (set! (-> this part-landing) (create-launch-control group-beach-rocks-land this)) (set! (-> this prev-frame) -1000.0) (set! (-> this draw origin-joint-index) (the-as uint 4)) (case (get-task-status (-> this entity extra perm task)) diff --git a/goal_src/jak1/levels/beach/lurkercrab.gc b/goal_src/jak1/levels/beach/lurkercrab.gc index 2434567420..68d8482982 100644 --- a/goal_src/jak1/levels/beach/lurkercrab.gc +++ b/goal_src/jak1/levels/beach/lurkercrab.gc @@ -334,7 +334,7 @@ nav-enemy-default-event-handler (behavior () (let ((a0-0 (-> self part)) (a1-0 (-> self collide-info root-prim prim-core))) - (spawn a0-0 (the-as vector a1-0))) + (spawn a0-0 (-> a1-0 world-sphere))) (nav-enemy-travel-post))) (define *lurkercrab-nav-enemy-info* @@ -428,7 +428,7 @@ nav-enemy-default-event-handler (process-drawable-from-entity! this arg0) (initialize-skeleton this *lurkercrab-sg* '()) (init-defaults! this *lurkercrab-nav-enemy-info*) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 159) this)) + (set! (-> this part) (create-launch-control group-lurkercrab-slide this)) (set! (-> this orient) #t) (logclear! (-> this nav-enemy-flags) (nav-enemy-flags navenmf5 navenmf6)) (set! (-> this target-speed) 0.0) diff --git a/goal_src/jak1/levels/beach/lurkerworm.gc b/goal_src/jak1/levels/beach/lurkerworm.gc index 9b0f8d0a46..4fa33ec5ce 100644 --- a/goal_src/jak1/levels/beach/lurkerworm.gc +++ b/goal_src/jak1/levels/beach/lurkerworm.gc @@ -440,8 +440,8 @@ lurkerworm-default-post-behavior (set! (-> this fact) (new 'process 'fact-info-enemy this (pickup-type eco-pill-random) (-> *FACT-bank* default-pill-inc))) (set! (-> this angle) 0.0) (set! (-> this vulnerable) #f) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 157) this)) - (set! (-> this part2) (create-launch-control (-> *part-group-id-table* 158) this)) + (set! (-> this part) (create-launch-control group-beach-sandworm this)) + (set! (-> this part2) (create-launch-control group-beach-sandworm-norocks this)) (set! (-> this twister) (new 'process 'twister 3 15 1092.2667 72.81778 0.25 0.001)) (twister-method-9 (-> this twister) 3 9 910.2222) (set! (-> this head-tilt) 0.0) diff --git a/goal_src/jak1/levels/beach/pelican.gc b/goal_src/jak1/levels/beach/pelican.gc index 58132974f0..66f7a6b93b 100644 --- a/goal_src/jak1/levels/beach/pelican.gc +++ b/goal_src/jak1/levels/beach/pelican.gc @@ -19,6 +19,7 @@ (post-spit-wait-time seconds) (run-away-time seconds))) + (define *PELICAN-bank* (new 'static 'pelican-bank @@ -69,12 +70,13 @@ (pelican-wait-at-end symbol) (pelican-wait-at-nest symbol))) -(defmethod relocate ((this pelican) (arg0 int)) + +(defmethod relocate ((this pelican) (offset int)) (countdown (v1-0 8) - (if (nonzero? (-> this path-data v1-0)) (&+! (-> this path-data v1-0) arg0))) - (if (nonzero? (-> this path-cache)) (&+! (-> this path-cache) arg0)) - (if (nonzero? (-> this neck)) (&+! (-> this neck) arg0)) - (call-parent-method this arg0)) + (if (nonzero? (-> this path-data v1-0)) (&+! (-> this path-data v1-0) offset))) + (if (nonzero? (-> this path-cache)) (&+! (-> this path-cache) offset)) + (if (nonzero? (-> this neck)) (&+! (-> this neck) offset)) + (call-parent-method this offset)) (defskelgroup *pelican-sg* pelican @@ -155,7 +157,7 @@ (send-event (ppointer->process v1-8) 'eval (lambda :behavior pelican () - (let ((v0-0 (create-launch-control (-> *part-group-id-table* 63) self))) (set! (-> self part) v0-0) v0-0)))))) + (let ((v0-0 (create-launch-control group-fuel-cell-starburst self))) (set! (-> self part) v0-0) v0-0)))))) (set! (-> self path) (-> self path-circle)) (set! (-> self path-pos) 0.0) (set! (-> self path-max) (the float (+ (-> self path curve num-cverts) -1))) @@ -381,7 +383,7 @@ :post (behavior () (when *target* - (if *target* (look-at-enemy! (-> *target* neck) (the-as vector (-> self root root-prim prim-core)) 'nothing self)) + (if *target* (look-at-enemy! (-> *target* neck) (-> self root root-prim prim-core world-sphere) 'nothing self)) (if (nonzero? (-> self neck)) (set-target! (-> self neck) (target-pos 5)))) (pelican-post))) @@ -522,7 +524,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 71) + group-crate-explode -1 #f #f @@ -594,7 +596,7 @@ (send-event (ppointer->process s5-2) 'eval (lambda :behavior pelican () - (let ((v0-0 (create-launch-control (-> *part-group-id-table* 63) self))) (set! (-> self part) v0-0) v0-0))) + (let ((v0-0 (create-launch-control group-fuel-cell-starburst self))) (set! (-> self part) v0-0) v0-0))) (send-event (ppointer->process s5-2) 'trans-hook fuel-cell-animate))) (go pelican-wait-at-nest #t)) (else (go pelican-circle))) diff --git a/goal_src/jak1/levels/citadel/citadel-obs.gc b/goal_src/jak1/levels/citadel/citadel-obs.gc index 901527dd06..fadff1cc9f 100644 --- a/goal_src/jak1/levels/citadel/citadel-obs.gc +++ b/goal_src/jak1/levels/citadel/citadel-obs.gc @@ -645,7 +645,7 @@ (set! (-> this root) s4-0)) (process-drawable-from-entity! this arg0) (initialize-skeleton this *citb-robotboss-sg* '()) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 601) this)) + (set! (-> this part) (create-launch-control group-citb-robotboss-shield this)) (logclear! (-> this mask) (process-mask actor-pause)) (set! (-> this shield-on) #t) (set! (-> this sound) (new 'process 'ambient-sound (static-sound-spec "robotcage-lp" :fo-max 150) (-> this root trans))) @@ -723,8 +723,8 @@ (set! (-> this root) (new 'process 'trsqv)) (process-drawable-from-entity! this arg0) (initialize-skeleton this *citb-coil-sg* '()) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 596) this)) - (set! (-> this part-off) (create-launch-control (-> *part-group-id-table* 602) this)) + (set! (-> this part) (create-launch-control group-citb-coil-glow this)) + (set! (-> this part-off) (create-launch-control group-citb-coil-off this)) (let ((v1-9 (entity-actor-lookup (-> this entity) 'state-actor 0))) (if (not v1-9) (set! v1-9 (-> this entity))) (if (logtest? (-> v1-9 extra perm status) (entity-perm-status complete)) (go citb-coil-broken) (go citb-coil-idle))) @@ -924,7 +924,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 598) + group-citb-generator-break -1 #f #f @@ -992,9 +992,9 @@ (when (-> this mushroom) (+! (-> this mushroom-pos x) (* 19251.2 (sin f30-0))) (+! (-> this mushroom-pos z) (* 19251.2 (cos f30-0))))) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 600) this)) - (set! (-> this part-broken) (create-launch-control (-> *part-group-id-table* 597) this)) - (set! (-> this part-mushroom) (create-launch-control (-> *part-group-id-table* 599) this)) + (set! (-> this part) (create-launch-control group-citb-generator-on this)) + (set! (-> this part-broken) (create-launch-control group-citb-generator-off this)) + (set! (-> this part-mushroom) (create-launch-control group-citb-generator-mushroom-on this)) (set! (-> this sound) (new 'process 'ambient-sound (static-sound-spec "mushroom-gen" :fo-max 20) (-> this root trans))) 0 (none)) diff --git a/goal_src/jak1/levels/citadel/citadel-sages.gc b/goal_src/jak1/levels/citadel/citadel-sages.gc index d470170ad8..bf409b7fa5 100644 --- a/goal_src/jak1/levels/citadel/citadel-sages.gc +++ b/goal_src/jak1/levels/citadel/citadel-sages.gc @@ -30,6 +30,7 @@ (:states citb-sagecage-idle)) + (defbehavior citb-sagecage-draw-bars citb-sagecage () (when (logtest? (-> self draw status) (draw-status was-drawn)) (let ((gp-0 (-> self node-list data 3 bone transform)) @@ -216,9 +217,10 @@ (sound-id sound-id) (alt-actor entity-actor))) -(defmethod relocate ((this citb-sage) (arg0 int)) - (if (nonzero? (-> this part-impact)) (&+! (-> this part-impact) arg0)) - (the-as citb-sage ((method-of-type process-taskable relocate) this arg0))) + +(defmethod relocate ((this citb-sage) (offset int)) + (if (nonzero? (-> this part-impact)) (&+! (-> this part-impact) offset)) + (the-as citb-sage ((method-of-type process-taskable relocate) this offset))) (defmethod deactivate ((this citb-sage)) (if (nonzero? (-> this part-impact)) (kill-and-free-particles (-> this part-impact))) @@ -326,6 +328,7 @@ (deftype red-sagecage (citb-sage) ()) + (defmethod process-taskable-method-52 ((this red-sagecage)) (let ((v1-1 (-> this draw shadow-ctrl))) (when v1-1 @@ -360,8 +363,8 @@ (set! (-> this attack-start-anim) 5) (set! (-> this attack-anim) 6) (set! (-> this beam-joint) 20) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 604) this)) - (set! (-> this part-impact) (create-launch-control (-> *part-group-id-table* 608) this)) + (set! (-> this part) (create-launch-control group-citb-red-sage-beam this)) + (set! (-> this part-impact) (create-launch-control group-citb-red-sage-beam-impact this)) (set! (-> this resolution-anim) (new 'static 'spool-anim @@ -393,6 +396,7 @@ (deftype blue-sagecage (citb-sage) ()) + (defmethod process-taskable-method-52 ((this blue-sagecage)) (let ((v1-1 (-> this draw shadow-ctrl))) (when v1-1 @@ -427,8 +431,8 @@ (set! (-> this attack-start-anim) 5) (set! (-> this attack-anim) 6) (set! (-> this beam-joint) 53) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 603) this)) - (set! (-> this part-impact) (create-launch-control (-> *part-group-id-table* 607) this)) + (set! (-> this part) (create-launch-control group-citb-blue-sage-beam this)) + (set! (-> this part-impact) (create-launch-control group-citb-blue-sage-beam-impact this)) (set! (-> this resolution-anim) (new 'static 'spool-anim @@ -469,6 +473,7 @@ (deftype yellow-sagecage (citb-sage) ()) + (defmethod process-taskable-method-52 ((this yellow-sagecage)) (let ((v1-1 (-> this draw shadow-ctrl))) (when v1-1 @@ -503,8 +508,8 @@ (set! (-> this attack-start-anim) 5) (set! (-> this attack-anim) 6) (set! (-> this beam-joint) 74) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 605) this)) - (set! (-> this part-impact) (create-launch-control (-> *part-group-id-table* 609) this)) + (set! (-> this part) (create-launch-control group-citb-yellow-sage-beam this)) + (set! (-> this part-impact) (create-launch-control group-citb-yellow-sage-beam-impact this)) (set! (-> this resolution-anim) (new 'static 'spool-anim @@ -541,6 +546,7 @@ (robotboss handle) (exitplat handle))) + (defmethod process-taskable-method-45 ((this green-sagecage)) (set! (-> *part-id-table* 2469 init-specs 14 initial-valuef) (-> this rot-y)) (set! (-> *part-id-table* 2469 init-specs 13 initial-valuef) (-> this rot-x)) @@ -555,8 +561,8 @@ (set! (-> this attack-start-anim) 4) (set! (-> this attack-anim) 4) (set! (-> this beam-joint) 22) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 606) this)) - (set! (-> this part-impact) (create-launch-control (-> *part-group-id-table* 610) this)) + (set! (-> this part) (create-launch-control group-citb-green-sage-beam this)) + (set! (-> this part-impact) (create-launch-control group-citb-green-sage-beam-impact this)) (set! (-> this resolution-anim) (new 'static 'spool-anim diff --git a/goal_src/jak1/levels/citadel/citb-plat.gc b/goal_src/jak1/levels/citadel/citb-plat.gc index 28bbe1ea09..a69903bbe8 100644 --- a/goal_src/jak1/levels/citadel/citb-plat.gc +++ b/goal_src/jak1/levels/citadel/citb-plat.gc @@ -721,7 +721,7 @@ (initialize-skeleton this *citb-firehose-sg* '()) (load-params! (-> this sync) this (the-as uint 900) 0.0 0.15 0.15) (set! (-> this idle-distance) 286720.0) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 685) this)) + (set! (-> this part) (create-launch-control group-firehose-blast-smoke this)) (clear-collide-with-as (-> this root)) (go citb-firehose-idle) (none)) diff --git a/goal_src/jak1/levels/finalboss/final-door.gc b/goal_src/jak1/levels/finalboss/final-door.gc index c7cd44675d..46116fd1ac 100644 --- a/goal_src/jak1/levels/finalboss/final-door.gc +++ b/goal_src/jak1/levels/finalboss/final-door.gc @@ -168,7 +168,7 @@ (until (time-elapsed? (-> self state-time) (seconds 1)) (let ((f0-2 (the float (- (current-time) (-> self state-time))))) (eval-position! gp-1 f0-2 (-> self root trans))) (transform-post) - (spawn (-> self part) (the-as vector (-> self root root-prim prim-core))) + (spawn (-> self part) (-> self root root-prim prim-core world-sphere)) (suspend) (if (nonzero? (-> self skel)) (ja :num! (loop! 0.5))))) (set! (-> self root trans quad) (-> self jump-pos quad)) @@ -178,7 +178,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 4) + group-spin-hit -1 #f #f @@ -216,7 +216,7 @@ (set-vector! (-> self root scale) 0.5 0.5 0.5 1.0) (set! (-> self index) arg3) (initialize-skeleton self *powercellalt-sg* '()) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 63) self)) + (set! (-> self part) (create-launch-control group-fuel-cell-starburst self)) enter-state (-> self root trans) (-> self jump-pos) diff --git a/goal_src/jak1/levels/finalboss/green-eco-lurker.gc b/goal_src/jak1/levels/finalboss/green-eco-lurker.gc index eeaa5065be..aaaa23bcea 100644 --- a/goal_src/jak1/levels/finalboss/green-eco-lurker.gc +++ b/goal_src/jak1/levels/finalboss/green-eco-lurker.gc @@ -381,7 +381,7 @@ (let ((gp-0 (new 'stack-no-clear 'vector))) (set! (-> gp-0 quad) (-> self collide-info trans quad)) (+! (-> gp-0 y) 8192.0) - (process-spawn part-tracker :init part-tracker-init (-> *part-group-id-table* 643) -1 #f #f #f gp-0 :to *entity-pool*)) + (process-spawn part-tracker :init part-tracker-init group-green-eco-lurker-death -1 #f #f #f gp-0 :to *entity-pool*)) (let ((gp-1 (new 'stack-no-clear 'vector))) (vector-! gp-1 (-> self appear-dest) (-> self collide-info trans)) (set! (-> gp-1 y) 0.0) @@ -498,7 +498,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 643) + group-green-eco-lurker-death -1 #f #f diff --git a/goal_src/jak1/levels/finalboss/light-eco.gc b/goal_src/jak1/levels/finalboss/light-eco.gc index 1e3911fbb2..04e28fce1d 100644 --- a/goal_src/jak1/levels/finalboss/light-eco.gc +++ b/goal_src/jak1/levels/finalboss/light-eco.gc @@ -455,7 +455,7 @@ (ja-channel-set! 1) (ja-no-eval :num! (seek!)) (ja :group! light-eco-small-idle-ja :num! min) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 692) self)) + (set! (-> self part) (create-launch-control group-light-eco-child self)) (transform-post) (go light-eco-child-appear) (none)) @@ -590,8 +590,8 @@ (ja-channel-set! 1) (ja-no-eval :num! (seek!)) (ja :group! light-eco-big-idle-ja :num! min) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 691) self)) - (set! (-> self part2) (create-launch-control (-> *part-group-id-table* 690) self)) + (set! (-> self part) (create-launch-control group-light-eco-mother self)) + (set! (-> self part2) (create-launch-control group-light-eco-mother-growing self)) (set! (-> self sound) (new 'process 'ambient-sound (static-sound-spec "white-eco-lp" :fo-min 300 :fo-max 400) (-> self root trans))) (ja-post) diff --git a/goal_src/jak1/levels/finalboss/robotboss-misc.gc b/goal_src/jak1/levels/finalboss/robotboss-misc.gc index cc95bdcd90..39dccdfaf1 100644 --- a/goal_src/jak1/levels/finalboss/robotboss-misc.gc +++ b/goal_src/jak1/levels/finalboss/robotboss-misc.gc @@ -68,12 +68,14 @@ (kind basic) (trans vector :inline))) + (deftype ecoclaw (process-drawable) ((particles ecoclaw-part-info 3 :inline)) (:states ecoclaw-activate ecoclaw-idle)) + (defskelgroup *ecoclaw-sg* ecoclaw ecoclaw-lod0-jg @@ -199,6 +201,7 @@ idle hidden)) + (defskelgroup *silodoor-sg* silodoor silodoor-lod0-jg @@ -305,6 +308,7 @@ (deftype finalbosscam (process-taskable) ((robotboss handle))) + (defskelgroup *finalbosscam-sg* finalbosscam finalbosscam-lod0-jg @@ -330,7 +334,7 @@ (send-event (handle->process (-> this robotboss)) 'eval (lambda :behavior finalbosscam () - (let ((v0-0 (create-launch-control (-> *part-group-id-table* 645) self))) (set! (-> self part) v0-0) v0-0))) + (let ((v0-0 (create-launch-control group-robotboss-blue-smoke self))) (set! (-> self part) v0-0) v0-0))) (let ((v1-43 (handle->process (-> this robotboss)))) (if v1-43 (set! (-> (the-as robotboss v1-43) draw bounds w) 327680.0)))) (the-as basic (new 'static 'spool-anim :name "finalbosscam-white-eco" :index 3 :parts 3 :command-list '()))) diff --git a/goal_src/jak1/levels/finalboss/robotboss-weapon.gc b/goal_src/jak1/levels/finalboss/robotboss-weapon.gc index 35cacb3dab..a8aafbe67b 100644 --- a/goal_src/jak1/levels/finalboss/robotboss-weapon.gc +++ b/goal_src/jak1/levels/finalboss/robotboss-weapon.gc @@ -21,7 +21,7 @@ (let ((gp-0 (new 'stack-no-clear 'vector)) (s5-0 (new 'stack-no-clear 'vector)) (f30-0 (+ (-> this radius-secondary) (-> arg0 world-sphere w)))) - (vector-! gp-0 (the-as vector arg0) (-> this origin)) + (vector-! gp-0 (-> arg0 world-sphere) (-> this origin)) (vector-flatten! s5-0 gp-0 (-> this axis)) (vector-normalize! s5-0 (-> this radius-primary)) (vector-! arg1 gp-0 s5-0) @@ -182,7 +182,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 619) + group-final-boss-mine-explosion 900 #f #f @@ -237,7 +237,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 663) + group-robotboss-darkecobomb-tick 150 #f #f @@ -332,7 +332,7 @@ (set! (-> self root trans quad) (-> arg0 quad)) (initialize-skeleton self *darkecobomb-sg* '()) (logclear! (-> self mask) (process-mask actor-pause)) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 639) self)) + (set! (-> self part) (create-launch-control group-robotboss-darkecobomb-glow self)) (arcing-shot-setup arg0 arg1 arg2) (set! (-> self countdown-time) arg4) (set! (-> self flight-time) arg3) @@ -391,7 +391,7 @@ (logclear! (-> self mask) (process-mask actor-pause)) (arcing-shot-setup arg0 arg1 arg2) (set! (-> self flight-time) arg3) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 664) self)) + (set! (-> self part) (create-launch-control group-robotboss-greenshot self)) (logior! (-> self draw status) (draw-status hidden)) (go greenshot-idle) (none)) @@ -460,7 +460,7 @@ (ppointer->handle (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 648) + group-robotboss-redshot -1 redshot-particle-callback (-> self ppointer) @@ -552,9 +552,9 @@ (set! (-> self flight-time) arg3) (set! (-> self stall-time) arg4) (set! (-> self rotation-offset) arg5) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 647) self)) - (set! (-> self shot-particle) (create-launch-control (-> *part-group-id-table* 665) self)) - (set! (-> self test-particle) (create-launch-control (-> *part-group-id-table* 679) self)) + (set! (-> self part) (create-launch-control group-robotboss-redshot-warning self)) + (set! (-> self shot-particle) (create-launch-control group-robotboss-redshot-body self)) + (set! (-> self test-particle) (create-launch-control group-robotboss-redshot-test self)) (logior! (-> self draw status) (draw-status hidden)) (set! (-> self sound) (new 'process 'ambient-sound (static-sound-spec "red-fireball" :fo-max 80) (-> self root trans))) (go redshot-idle) @@ -611,6 +611,6 @@ (logior! (-> self draw status) (draw-status hidden)) (arcing-shot-setup arg0 arg1 arg2) (set! (-> self flight-time) arg3) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 652) self)) + (set! (-> self part) (create-launch-control group-robotboss-yellowshot self)) (go yellowshot-idle) (none)) diff --git a/goal_src/jak1/levels/finalboss/robotboss.gc b/goal_src/jak1/levels/finalboss/robotboss.gc index 6268c2844f..a795b79bf4 100644 --- a/goal_src/jak1/levels/finalboss/robotboss.gc +++ b/goal_src/jak1/levels/finalboss/robotboss.gc @@ -56,9 +56,7 @@ (let ((s4-1 (new 'stack-no-clear 'vector))) (vector<-cspace! s4-1 (joint-node robotboss-basic-lod0-jg camera)) (set! (-> *camera-other-trans* quad) (-> s4-1 quad))) - (vector-normalize-copy! (the-as vector (-> *camera-other-matrix* vector)) - (the-as vector (-> s5-1 vector)) - (the-as float -1.0)) + (vector-normalize-copy! (-> *camera-other-matrix* vector 0) (-> s5-1 vector 0) (the-as float -1.0)) (set! (-> *camera-other-matrix* vector 0 w) 0.0) (vector-normalize-copy! (-> *camera-other-matrix* vector 1) (-> s5-1 vector 1) (the-as float 1.0)) (set! (-> *camera-other-matrix* vector 1 w) 0.0) @@ -217,7 +215,7 @@ (set! (-> gp-0 x) 0.0) (vector-matrix*! gp-0 gp-0 s4-0) (vector+! (-> self root trans) gp-0 (-> self entity extra trans)) - (vector-negate! (the-as vector (-> s4-0 vector)) (the-as vector (-> s4-0 vector))) + (vector-negate! (-> s4-0 vector 0) (-> s4-0 vector 0)) (vector-negate! (-> s4-0 vector 2) (-> s4-0 vector 2)) (matrix->quaternion (-> self root quat) s4-0)) (vector-! gp-0 s5-0 (-> self root trans)) @@ -245,7 +243,17 @@ (set! (-> s4-0 quad) (-> self entity extra trans quad)) (vector+! s4-0 s4-0 arg0) (process-spawn darkecobomb gp-0 s4-0 61440.0 300 arg1 :to self)) - (process-spawn part-tracker :init part-tracker-init (-> *part-group-id-table* 638) 300 #f #f #f gp-0 :to *entity-pool*))) + (process-spawn part-tracker + :init + part-tracker-init + group-robotboss-darkecobomb-launch + 300 + #f + #f + #f + gp-0 + :to + *entity-pool*))) (defbehavior robotboss-bomb-handler robotboss ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (local-vars (v0-0 object)) @@ -439,7 +447,7 @@ (set! (-> a1-0 from) self) (set! (-> a1-0 num-params) 1) (set! (-> a1-0 message) 'open) - (set! (-> a1-0 param 0) (the-as uint (-> *part-group-id-table* 674))) + (set! (-> a1-0 param 0) (the-as uint group-robotboss-blue-claw-glow)) (let ((t9-0 send-event-function) (v1-4 (-> self alts 3))) (t9-0 (if v1-4 (-> v1-4 extra process)) a1-0))) @@ -447,7 +455,7 @@ (set! (-> a1-1 from) self) (set! (-> a1-1 num-params) 1) (set! (-> a1-1 message) 'open) - (set! (-> a1-1 param 0) (the-as uint (-> *part-group-id-table* 675))) + (set! (-> a1-1 param 0) (the-as uint group-robotboss-green-claw-glow)) (let ((t9-1 send-event-function) (v1-11 (-> self alts 2))) (t9-1 (if v1-11 (-> v1-11 extra process)) a1-1))) @@ -455,7 +463,7 @@ (set! (-> a1-2 from) self) (set! (-> a1-2 num-params) 1) (set! (-> a1-2 message) 'open) - (set! (-> a1-2 param 0) (the-as uint (-> *part-group-id-table* 676))) + (set! (-> a1-2 param 0) (the-as uint group-robotboss-red-claw-glow)) (let ((t9-2 send-event-function) (v1-18 (-> self alts 1))) (t9-2 (if v1-18 (-> v1-18 extra process)) a1-2))) @@ -463,7 +471,7 @@ (set! (-> a1-3 from) self) (set! (-> a1-3 num-params) 1) (set! (-> a1-3 message) 'open) - (set! (-> a1-3 param 0) (the-as uint (-> *part-group-id-table* 677))) + (set! (-> a1-3 param 0) (the-as uint group-robotboss-yellow-claw-glow)) (let ((t9-3 send-event-function) (v1-25 (-> self alts 4))) (t9-3 (if v1-25 (-> v1-25 extra process)) a1-3))) @@ -471,8 +479,8 @@ (set! (-> a1-4 from) self) (set! (-> a1-4 num-params) 3) (set! (-> a1-4 message) 'beam-on) - (set! (-> a1-4 param 0) (the-as uint (-> *part-group-id-table* 666))) - (set! (-> a1-4 param 1) (the-as uint (-> *part-group-id-table* 666))) + (set! (-> a1-4 param 0) (the-as uint group-finalboss-blue-claw-beam)) + (set! (-> a1-4 param 1) (the-as uint group-finalboss-blue-claw-beam)) (set! (-> a1-4 param 2) (the-as uint (-> self entity extra trans))) (let ((t9-4 send-event-function) (v1-37 (-> self alts 3))) @@ -481,8 +489,8 @@ (set! (-> a1-5 from) self) (set! (-> a1-5 num-params) 3) (set! (-> a1-5 message) 'beam-on) - (set! (-> a1-5 param 0) (the-as uint (-> *part-group-id-table* 672))) - (set! (-> a1-5 param 1) (the-as uint (-> *part-group-id-table* 672))) + (set! (-> a1-5 param 0) (the-as uint group-finalboss-green-claw-beam)) + (set! (-> a1-5 param 1) (the-as uint group-finalboss-green-claw-beam)) (set! (-> a1-5 param 2) (the-as uint (-> self entity extra trans))) (let ((t9-5 send-event-function) (v1-49 (-> self alts 2))) @@ -491,8 +499,8 @@ (set! (-> a1-6 from) self) (set! (-> a1-6 num-params) 3) (set! (-> a1-6 message) 'beam-on) - (set! (-> a1-6 param 0) (the-as uint (-> *part-group-id-table* 668))) - (set! (-> a1-6 param 1) (the-as uint (-> *part-group-id-table* 668))) + (set! (-> a1-6 param 0) (the-as uint group-finalboss-red-claw-beam)) + (set! (-> a1-6 param 1) (the-as uint group-finalboss-red-claw-beam)) (set! (-> a1-6 param 2) (the-as uint (-> self entity extra trans))) (let ((t9-6 send-event-function) (v1-61 (-> self alts 1))) @@ -501,8 +509,8 @@ (set! (-> a1-7 from) self) (set! (-> a1-7 num-params) 3) (set! (-> a1-7 message) 'beam-on) - (set! (-> a1-7 param 0) (the-as uint (-> *part-group-id-table* 670))) - (set! (-> a1-7 param 1) (the-as uint (-> *part-group-id-table* 670))) + (set! (-> a1-7 param 0) (the-as uint group-finalboss-yellow-claw-beam)) + (set! (-> a1-7 param 1) (the-as uint group-finalboss-yellow-claw-beam)) (set! (-> a1-7 param 2) (the-as uint (-> self entity extra trans))) (let ((t9-7 send-event-function) (v1-73 (-> self alts 4))) @@ -568,7 +576,17 @@ (vector+! s5-0 s5-0 gp-0) (process-spawn yellowshot gp-0 s5-0 0.0 750 :to self)) (send-event self 'flash 255.0) - (process-spawn part-tracker :init part-tracker-init (-> *part-group-id-table* 642) 300 #f #f #f gp-0 :to *entity-pool*)) + (process-spawn part-tracker + :init + part-tracker-init + group-robotboss-yellowshot-launch + 300 + #f + #f + #f + gp-0 + :to + *entity-pool*)) (sound-play "bfg-fire") (none)) @@ -609,7 +627,7 @@ (set! (-> a1-1 from) self) (set! (-> a1-1 num-params) 1) (set! (-> a1-1 message) 'open) - (set! (-> a1-1 param 0) (the-as uint (-> *part-group-id-table* 677))) + (set! (-> a1-1 param 0) (the-as uint group-robotboss-yellow-claw-glow)) (let ((t9-1 send-event-function) (v1-10 (-> self alts 4))) (t9-1 (if v1-10 (-> v1-10 extra process)) a1-1))) @@ -645,7 +663,7 @@ (set! (-> self yellow-smoke) #t) (let ((gp-0 (new 'stack-no-clear 'vector))) (vector<-cspace! gp-0 (joint-node robotboss-basic-lod0-jg Lyellow_ecoTubeA)) - (process-spawn part-tracker :init part-tracker-init (-> *part-group-id-table* 653) 300 #f #f #f gp-0 :to *entity-pool*)) + (process-spawn part-tracker :init part-tracker-init group-robotboss-yellow-blowup 300 #f #f #f gp-0 :to *entity-pool*)) (let ((gp-1 (manipy-spawn (-> self root trans) (-> self entity) *robotboss-yelloweco-sg* #f :to self))) (send-event (ppointer->process (-> self parent)) 'flash 255.0) (send-event (ppointer->process gp-1) 'anim-mode 'play1) @@ -858,9 +876,11 @@ (flight-time time-frame) (stall-time time-frame))) + (deftype redshot-launch-array (structure) ((info redshot-launch-info 6 :inline))) + (defbehavior robotboss-redshot-fill-array robotboss ((arg0 redshot-launch-array)) (let ((s2-0 0) (s4-0 (new 'stack-no-clear 'vector)) @@ -877,11 +897,11 @@ (set! (-> s1-0 dest z) (+ f30-1 (* f28-1 (rand-float-gen))))) (set! (-> s1-0 dest w) 1.0)) (dotimes (s1-1 s3-0) - (vector-! s4-0 (the-as vector (-> arg0 info s3-0)) (the-as vector (-> arg0 info s1-1))) + (vector-! s4-0 (-> arg0 info s3-0 dest) (-> arg0 info s1-1 dest)) (let ((f0-13 (vector-length-squared s4-0))) (if (< f0-13 1073741800.0) - (vector+float*! (the-as vector (-> arg0 info s3-0)) (the-as vector (-> arg0 info s1-1)) s4-0 (/ 32768.0 (sqrtf f0-13)))))) - (vector+! s5-0 s5-0 (the-as vector (-> arg0 info s3-0))) + (vector+float*! (-> arg0 info s3-0 dest) (-> arg0 info s1-1 dest) s4-0 (/ 32768.0 (sqrtf f0-13)))))) + (vector+! s5-0 s5-0 (-> arg0 info s3-0 dest)) (let* ((f30-2 60.0) (v1-27 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) (v1-28 (the-as number (logior #x3f800000 v1-27)))) @@ -893,7 +913,7 @@ (vector-float*! s5-0 s5-0 0.16666667) (vector-! s5-0 (-> self entity extra trans) s5-0) (dotimes (v1-53 6) - (vector+! (the-as vector (-> arg0 info v1-53)) (the-as vector (-> arg0 info v1-53)) s5-0) + (vector+! (-> arg0 info v1-53 dest) (-> arg0 info v1-53 dest) s5-0) (+! (-> arg0 info v1-53 dest y) 2048.0))) (none)) @@ -933,7 +953,7 @@ t3-0))) (-> s4-0 ppointer))) (when s5-0 - (process-spawn part-tracker :init part-tracker-init (-> *part-group-id-table* 641) 300 #f #f #f gp-0 :to *entity-pool*) + (process-spawn part-tracker :init part-tracker-init group-robotboss-redshot-launch 300 #f #f #f gp-0 :to *entity-pool*) (sound-play "red-fire"))))) (defbehavior robotboss-is-red-hit robotboss () @@ -971,7 +991,7 @@ (set! (-> a1-1 from) self) (set! (-> a1-1 num-params) 1) (set! (-> a1-1 message) 'open) - (set! (-> a1-1 param 0) (the-as uint (-> *part-group-id-table* 676))) + (set! (-> a1-1 param 0) (the-as uint group-robotboss-red-claw-glow)) (let ((t9-1 send-event-function) (v1-10 (-> self alts 1))) (t9-1 (if v1-10 (-> v1-10 extra process)) a1-1))) @@ -1016,7 +1036,7 @@ (set! (-> self red-smoke) #t) (let ((gp-0 (new 'stack-no-clear 'vector))) (vector<-cspace! gp-0 (joint-node robotboss-basic-lod0-jg rArmBotWireC)) - (process-spawn part-tracker :init part-tracker-init (-> *part-group-id-table* 649) 300 #f #f #f gp-0 :to *entity-pool*)) + (process-spawn part-tracker :init part-tracker-init group-robotboss-red-blowup 300 #f #f #f gp-0 :to *entity-pool*)) (let ((gp-1 (manipy-spawn (-> self root trans) (-> self entity) *robotboss-redeco-sg* #f :to self))) (send-event (ppointer->process (-> self parent)) 'flash 255.0) (send-event (ppointer->process gp-1) 'anim-mode 'play1) @@ -1072,7 +1092,7 @@ (s5-0 (-> self dda red-shots-min))) (robotboss-yellow-eco-on) (robotboss-redshot-fill-array gp-1) - (robotboss-redshot (the-as redshot-launch-info (-> gp-1 info)) #t) + (robotboss-redshot (-> gp-1 info 0) #t) (let* ((v1-127 (+ s5-0 (the int (* f30-1 (the float (-> self dda red-shots-rnd)))))) (s5-1 (+ (min 6 v1-127) -1))) (dotimes (s4-0 s5-1) @@ -1222,7 +1242,17 @@ (vector+! s2-0 s2-0 arg0) (process-spawn greenshot gp-0 s2-0 arg1 arg2 :to self)) (when arg3 - (process-spawn part-tracker :init part-tracker-init (-> *part-group-id-table* 640) 300 #f #f #f gp-0 :to *entity-pool*) + (process-spawn part-tracker + :init + part-tracker-init + group-robotboss-greenshot-launch + 300 + #f + #f + #f + gp-0 + :to + *entity-pool*) (sound-play "green-fire"))) (none)) @@ -1269,7 +1299,7 @@ (set! (-> a1-1 from) self) (set! (-> a1-1 num-params) 1) (set! (-> a1-1 message) 'open) - (set! (-> a1-1 param 0) (the-as uint (-> *part-group-id-table* 675))) + (set! (-> a1-1 param 0) (the-as uint group-robotboss-green-claw-glow)) (let ((t9-1 send-event-function) (v1-10 (-> self alts 2))) (t9-1 (if v1-10 (-> v1-10 extra process)) a1-1))) @@ -1615,7 +1645,7 @@ (set! (-> a1-1 from) self) (set! (-> a1-1 num-params) 1) (set! (-> a1-1 message) 'open) - (set! (-> a1-1 param 0) (the-as uint (-> *part-group-id-table* 674))) + (set! (-> a1-1 param 0) (the-as uint group-robotboss-blue-claw-glow)) (let ((t9-1 send-event-function) (v1-10 (-> self alts 3))) (t9-1 (if v1-10 (-> v1-10 extra process)) a1-1))) @@ -1652,7 +1682,7 @@ (set! (-> self blue-smoke) #t) (let ((gp-1 (new 'stack-no-clear 'vector))) (vector<-cspace! gp-1 (joint-node robotboss-basic-lod0-jg blue_eco_piece)) - (process-spawn part-tracker :init part-tracker-init (-> *part-group-id-table* 644) 300 #f #f #f gp-1 :to *entity-pool*)) + (process-spawn part-tracker :init part-tracker-init group-robotboss-blue-blowup 300 #f #f #f gp-1 :to *entity-pool*)) (let ((gp-2 (manipy-spawn (-> self root trans) (-> self entity) *robotboss-blueeco-sg* #f :to self))) (send-event (ppointer->process (-> self parent)) 'flash 255.0) (send-event (ppointer->process gp-2) 'anim-mode 'play1) @@ -1905,13 +1935,13 @@ (let ((s5-1 (entity-actor-count (-> this entity) 'alt-actor))) (dotimes (s4-1 (min 13 s5-1)) (set! (-> this alts s4-1) (entity-actor-lookup (-> this entity) 'alt-actor s4-1)))) - (set! (-> this particle 0) (create-launch-control (-> *part-group-id-table* 636) this)) - (set! (-> this particle 1) (create-launch-control (-> *part-group-id-table* 637) this)) - (set! (-> this particle 2) (create-launch-control (-> *part-group-id-table* 645) this)) - (set! (-> this particle 3) (create-launch-control (-> *part-group-id-table* 650) this)) - (set! (-> this particle 4) (create-launch-control (-> *part-group-id-table* 654) this)) - (set! (-> this particle 5) (create-launch-control (-> *part-group-id-table* 646) this)) - (set! (-> this particle 6) (create-launch-control (-> *part-group-id-table* 651) this)) + (set! (-> this particle 0) (create-launch-control group-robotboss-blue-beam this)) + (set! (-> this particle 1) (create-launch-control group-robotboss-blue-beam-impact this)) + (set! (-> this particle 2) (create-launch-control group-robotboss-blue-smoke this)) + (set! (-> this particle 3) (create-launch-control group-robotboss-red-smoke this)) + (set! (-> this particle 4) (create-launch-control group-robotboss-yellow-smoke this)) + (set! (-> this particle 5) (create-launch-control group-robotboss-redshot-charge this)) + (set! (-> this particle 6) (create-launch-control group-robotboss-yellowshot-charge this)) (set! (-> this looping-sound 0) (new 'process 'ambient-sound (static-sound-spec "robo-blue-lp" :fo-max 80) (-> this root trans))) (set! (-> this looping-sound 1) diff --git a/goal_src/jak1/levels/finalboss/sage-finalboss.gc b/goal_src/jak1/levels/finalboss/sage-finalboss.gc index 3acf74356b..bf2d686de3 100644 --- a/goal_src/jak1/levels/finalboss/sage-finalboss.gc +++ b/goal_src/jak1/levels/finalboss/sage-finalboss.gc @@ -47,6 +47,7 @@ (speed float) (touch-time time-frame))) + (defmethod get-unlit-skel ((this plat-eco-finalboss)) *plat-eco-finalboss-unlit-sg*) @@ -114,6 +115,7 @@ (active symbol)) :allow-misaligned) + (deftype sage-finalboss (process-taskable) ((redsage handle) (bluesage handle) @@ -135,6 +137,7 @@ (:states sage-finalboss-credits)) + (defmethod relocate ((this sage-finalboss) (offset int)) (dotimes (v1-0 9) (if (nonzero? (-> this particle v1-0 part)) (&+! (-> this particle v1-0 part) offset))) @@ -684,19 +687,19 @@ (set! (-> this kick-in-the-door) #f) (set! (-> this kick-the-credits) #f) (set! (-> this credits-played) #f) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 682) this)) + (set! (-> this part) (create-launch-control group-2d-credits-mist this)) (set! (-> this part matrix) (sprite-allocate-user-hvdf)) - (set! (-> this particle-whiteout) (create-launch-control (-> *part-group-id-table* 706) this)) + (set! (-> this particle-whiteout) (create-launch-control group-2d-big-door-whiteout this)) (set! (-> this particle-whiteout matrix) (sprite-allocate-user-hvdf)) - (set! (-> this particle 0 part) (create-launch-control (-> *part-group-id-table* 699) this)) - (set! (-> this particle 1 part) (create-launch-control (-> *part-group-id-table* 700) this)) - (set! (-> this particle 2 part) (create-launch-control (-> *part-group-id-table* 701) this)) - (set! (-> this particle 3 part) (create-launch-control (-> *part-group-id-table* 702) this)) - (set! (-> this particle 7 part) (create-launch-control (-> *part-group-id-table* 645) this)) - (set! (-> this particle 4 part) (create-launch-control (-> *part-group-id-table* 703) this)) - (set! (-> this particle 5 part) (create-launch-control (-> *part-group-id-table* 696) this)) - (set! (-> this particle 6 part) (create-launch-control (-> *part-group-id-table* 704) this)) - (set! (-> this particle 8 part) (create-launch-control (-> *part-group-id-table* 698) this)) + (set! (-> this particle 0 part) (create-launch-control group-target-white-eco-ground this)) + (set! (-> this particle 1 part) (create-launch-control group-target-white-eco-joints this)) + (set! (-> this particle 2 part) (create-launch-control group-target-white-eco-hand-glow this)) + (set! (-> this particle 3 part) (create-launch-control group-target-white-eco-hand-shot this)) + (set! (-> this particle 7 part) (create-launch-control group-robotboss-blue-smoke this)) + (set! (-> this particle 4 part) (create-launch-control group-robotboss-joints this)) + (set! (-> this particle 5 part) (create-launch-control group-robotboss-explode this)) + (set! (-> this particle 6 part) (create-launch-control group-robotboss-splash this)) + (set! (-> this particle 8 part) (create-launch-control group-bigdoor-open this)) (dotimes (v1-37 9) (set! (-> this particle v1-37 active) #f)) (set! (-> this palette-val) 0.0) diff --git a/goal_src/jak1/levels/firecanyon/firecanyon-obs.gc b/goal_src/jak1/levels/firecanyon/firecanyon-obs.gc index 2e61c58c7b..f2d861191c 100644 --- a/goal_src/jak1/levels/firecanyon/firecanyon-obs.gc +++ b/goal_src/jak1/levels/firecanyon/firecanyon-obs.gc @@ -82,17 +82,7 @@ (clear-collide-with-as (-> self root)) (ja-post) (sound-play "cool-balloon") - (process-spawn part-tracker - :init - part-tracker-init - (-> *part-group-id-table* 227) - -1 - #f - #f - #f - (-> self root trans) - :to - *entity-pool*) + (process-spawn part-tracker :init part-tracker-init group-balloon -1 #f #f #f (-> self root trans) :to *entity-pool*) (suspend) (cleanup-for-death self) (deactivate self))) @@ -125,7 +115,7 @@ (set! (-> this root) s4-0)) (process-drawable-from-entity! this arg0) (initialize-skeleton this *balloon-sg* '()) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 227) this)) + (set! (-> this part) (create-launch-control group-balloon this)) (go balloon-idle) (none)) @@ -470,7 +460,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 228) + group-dark-cluster-explosion -1 #f #f diff --git a/goal_src/jak1/levels/flut_common/flutflut.gc b/goal_src/jak1/levels/flut_common/flutflut.gc index eef2a7407a..fcf602674a 100644 --- a/goal_src/jak1/levels/flut_common/flutflut.gc +++ b/goal_src/jak1/levels/flut_common/flutflut.gc @@ -150,8 +150,8 @@ (kill-current-level-hint '() '(sidekick voicebox) 'exit) (when (and (hud-hidden?) (can-grab-display? self)) (let ((gp-0 (new 'stack 'font-context *font-default-matrix* 32 160 0.0 (font-color default) (font-flags shadow kerning)))) - (let ((v1-34 gp-0)) (set! (-> v1-34 width) (the float 440))) - (let ((v1-35 gp-0)) (set! (-> v1-35 height) (the float 80))) + (set-width! gp-0 440) + (set-height! gp-0 80) (set! (-> gp-0 flags) (font-flags shadow kerning large)) (print-game-text (lookup-text! *common-text* (text-id press-to-use) #f) gp-0 #f 128 22)) (if (and (cpad-pressed? 0 circle) (send-event *target* 'change-mode 'flut self)) @@ -188,7 +188,8 @@ (while (and *target* (logtest? (-> *target* control root-prim prim-core action) (collide-action flut))) (flutflut-effect) (suspend)) - (suspend-for (seconds 1) (flutflut-effect)) + (suspend-for (seconds 1) + (flutflut-effect)) (go arg0))) (defstate wait-for-return (flutflut) @@ -240,7 +241,7 @@ (if v1-27 (logior! (-> v1-27 flags) (path-control-flag display draw-line draw-point draw-text))))) (set! (-> this condition) (res-lump-value arg0 'index int)) (set! (-> this fact) (new 'process 'fact-info this (pickup-type eco-pill-random) (-> *FACT-bank* default-pill-inc))) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 120) this)) + (set! (-> this part) (create-launch-control group-flut-trans-pad this)) (set! (-> this auto-get-off) #f) (move-to-ground (-> this root) 40960.0 40960.0 #t (collide-kind background)) (set! (-> this cell) (the-as handle #f)) diff --git a/goal_src/jak1/levels/jungle/darkvine.gc b/goal_src/jak1/levels/jungle/darkvine.gc index 0757683ccd..083821cf93 100644 --- a/goal_src/jak1/levels/jungle/darkvine.gc +++ b/goal_src/jak1/levels/jungle/darkvine.gc @@ -172,7 +172,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 175) + group-darkvine-puffs -1 #f #f diff --git a/goal_src/jak1/levels/jungle/fisher.gc b/goal_src/jak1/levels/jungle/fisher.gc index 8eda653f05..71da5d6b70 100644 --- a/goal_src/jak1/levels/jungle/fisher.gc +++ b/goal_src/jak1/levels/jungle/fisher.gc @@ -831,7 +831,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 179) + group-fish-collect -1 #f #f @@ -845,7 +845,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 179) + group-fish-collect -1 #f #f @@ -902,15 +902,15 @@ ((or (= arg0 'deadly) (= arg0 'bad)) (set! (-> self size) 409.6) (set-vector! (-> self root scale) 0.9 0.9 0.7 1.0) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 177) self)) + (set! (-> self part) (create-launch-control group-bad-fish self)) *catch-fishc-sg*) ((= arg0 'powerup) (set-vector! (-> self root scale) 0.4 0.4 0.4 1.0) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 178) self)) + (set! (-> self part) (create-launch-control group-normal-fish self)) *catch-fishb-sg*) (else (set-vector! (-> self root scale) 0.3 0.3 0.3 1.0) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 178) self)) + (set! (-> self part) (create-launch-control group-normal-fish self)) *catch-fisha-sg*)) '()) (set! (-> self pos) 1.0) @@ -925,9 +925,9 @@ (defbehavior fisher-draw-display fisher ((arg0 fisher)) (let ((s5-0 (new 'stack 'font-context *font-default-matrix* 435 10 0.0 (font-color red) (font-flags shadow kerning)))) - (let ((v1-1 s5-0)) (set! (-> v1-1 width) (the float 200))) - (let ((v1-2 s5-0)) (set! (-> v1-2 height) (the float 30))) - (let ((v1-3 s5-0)) (set! (-> v1-3 scale) 0.7)) + (set-width! s5-0 200) + (set-height! s5-0 30) + (set-scale! s5-0 0.7) (set! (-> s5-0 flags) (font-flags shadow kerning right large)) (print-game-text (lookup-text! *common-text* (text-id caught) #f) s5-0 #f 128 22) (set! (-> s5-0 origin x) 488.0) @@ -1183,10 +1183,7 @@ (set! (-> self paddle-vel) (fmax -2.0 (fmin 2.0 (-> self paddle-vel)))) (+! (-> self paddle) (* (-> self paddle-vel) (seconds-per-frame))) (set! (-> self paddle) (fmax 0.0 (fmin 1.0 (-> self paddle)))) - (vector-lerp! (-> self paddle-pos) - (the-as vector (-> self paddle-end)) - (the-as vector (&-> self stack 288)) - (-> self paddle)) + (vector-lerp! (-> self paddle-pos) (-> self paddle-end 0) (the-as vector (&-> self stack 288)) (-> self paddle)) 0 (none)) @@ -1521,7 +1518,7 @@ (s4-0 (path-control-method-12 (-> this path) (new-stack-vector0) 6.5))) (+! (-> s5-0 y) 2457.6) (vector-normalize! (vector-rotate-y! s4-0 s4-0 16384.0) (-> *FISHER-bank* width)) - (vector-! (the-as vector (-> this paddle-end)) s5-0 s4-0) + (vector-! (-> this paddle-end 0) s5-0 s4-0) (vector+! (the-as vector (&-> this stack 288)) s5-0 s4-0)) (set! (-> this music) 'fishgame) (set! (-> this difficulty) (the-as int (-> this entity extra perm user-uint8 6))) diff --git a/goal_src/jak1/levels/jungle/jungle-mirrors.gc b/goal_src/jak1/levels/jungle/jungle-mirrors.gc index e975931057..b90dd32dc5 100644 --- a/goal_src/jak1/levels/jungle/jungle-mirrors.gc +++ b/goal_src/jak1/levels/jungle/jungle-mirrors.gc @@ -566,7 +566,7 @@ (set! (-> (new 'stack-no-clear 'vector) quad) (the-as uint128 0)) (let ((v1-2 (-> self change-event-from))) (set! (-> self trans quad) (-> (the-as periscope (-> v1-2 0)) reflector-trans quad)) - (matrix-rotate-yx! (the-as matrix (-> self tracking)) + (matrix-rotate-yx! (-> self tracking inv-mat) (-> (the-as periscope (-> v1-2 0)) turn) (-> (the-as periscope (-> v1-2 0)) tilt))) (set! (-> self blend-from-type) (the-as uint 0)) @@ -619,7 +619,7 @@ ((< (-> s5-0 y) -136.53334) (set! (-> s5-0 y) -136.53334))) (+! f30-0 (* (-> s5-0 y) (-> *display* time-adjust-ratio))) (set! f28-0 (fmax -12743.111 (fmin 12743.111 (+ f28-0 (* (-> s5-0 x) (-> *display* time-adjust-ratio)))))) - (matrix-rotate-yx! (the-as matrix (-> self tracking)) f30-0 f28-0)) + (matrix-rotate-yx! (-> self tracking inv-mat) f30-0 f28-0)) (suspend))))) (defstate reflector-idle (reflector) @@ -1076,8 +1076,8 @@ (kill-current-level-hint '() '(sidekick voicebox) 'exit) (when (and (hud-hidden?) (can-grab-display? self)) (let ((s2-2 (new 'stack 'font-context *font-default-matrix* 32 160 0.0 (font-color default) (font-flags shadow kerning)))) - (let ((v1-43 s2-2)) (set! (-> v1-43 width) (the float 440))) - (let ((v1-44 s2-2)) (set! (-> v1-44 height) (the float 80))) + (set-width! s2-2 440) + (set-height! s2-2 80) (set! (-> s2-2 flags) (font-flags shadow kerning large)) (print-game-text (lookup-text! *common-text* (text-id press-to-use) #f) s2-2 #f 128 22)) (when (cpad-pressed? 0 circle) @@ -1324,8 +1324,8 @@ (set! (-> this link) (new 'process 'actor-link-info this)) (periscope-find-next) (initialize-skeleton this *periscope-base-sg* '()) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 176) this)) - (set! (-> this part-aligned) (create-launch-control (-> *part-group-id-table* 689) this)) + (set! (-> this part) (create-launch-control group-jungle-binoculars this)) + (set! (-> this part-aligned) (create-launch-control group-jungle-binoculars-aligned this)) (set! (-> this grips) (new 'process 'joint-mod-set-world this 4 #t)) (transformq-copy! (-> this grips transform) (the-as transformq (-> this root trans))) (periscope-find-reflection-angles) diff --git a/goal_src/jak1/levels/jungle/junglesnake.gc b/goal_src/jak1/levels/jungle/junglesnake.gc index d19d3dced1..7953165646 100644 --- a/goal_src/jak1/levels/jungle/junglesnake.gc +++ b/goal_src/jak1/levels/jungle/junglesnake.gc @@ -150,8 +150,8 @@ junglesnake-default-event-handler (vector-! a1-7 (-> a0-14 vector 3) (-> s3-1 vector 3)) (vector-normalize-copy! (-> s3-1 vector 1) a1-7 1.0)) (set! (-> s3-1 vector 1 w) 0.0) - (vector-normalize! (vector-cross! (-> s3-1 vector 2) (the-as vector (-> s3-1 vector)) (-> s3-1 vector 1)) 1.0) - (vector-normalize! (vector-cross! (the-as vector (-> s3-1 vector)) (-> s3-1 vector 1) (-> s3-1 vector 2)) 1.0))) + (vector-normalize! (vector-cross! (-> s3-1 vector 2) (-> s3-1 vector 0) (-> s3-1 vector 1)) 1.0) + (vector-normalize! (vector-cross! (-> s3-1 vector 0) (-> s3-1 vector 1) (-> s3-1 vector 2)) 1.0))) (cond ((and (-> s5-0 track-player-tilt) *target*) (let ((s2-1 (-> arg0 node-list data 25 bone transform)) @@ -246,7 +246,7 @@ junglesnake-default-event-handler (when *target* (if *target* (look-at-enemy! (-> *target* neck) - (the-as vector (-> (the-as collide-shape-prim-group (-> self root root-prim)) prims 0 prim-core)) + (-> (the-as collide-shape-prim-group (-> self root root-prim)) prims 0 prim-core world-sphere) 'attacking self)))) :code @@ -281,7 +281,7 @@ junglesnake-default-event-handler (when *target* (if *target* (look-at-enemy! (-> *target* neck) - (the-as vector (-> (the-as collide-shape-prim-group (-> self root root-prim)) prims 0 prim-core)) + (-> (the-as collide-shape-prim-group (-> self root root-prim)) prims 0 prim-core world-sphere) 'attacking self)))) :code @@ -310,7 +310,7 @@ junglesnake-default-event-handler (when *target* (if *target* (look-at-enemy! (-> *target* neck) - (the-as vector (-> (the-as collide-shape-prim-group (-> self root root-prim)) prims 0 prim-core)) + (-> (the-as collide-shape-prim-group (-> self root root-prim)) prims 0 prim-core world-sphere) 'attacking self)))) :code @@ -546,7 +546,7 @@ junglesnake-default-event-handler (process-drawable-from-entity! this arg0) (initialize-skeleton this *junglesnake-sg* '()) (set! (-> this fact) (new 'process 'fact-info-enemy this (pickup-type eco-pill-random) (-> *FACT-bank* default-pill-inc))) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 173) this)) + (set! (-> this part) (create-launch-control group-junglesnake-dropping-down this)) (set! (-> this is-lethal?) #f) (set! (-> this ry) (y-angle (-> this root))) (set! (-> this des-ry) (-> this ry)) diff --git a/goal_src/jak1/levels/jungleb/jungleb-obs.gc b/goal_src/jak1/levels/jungleb/jungleb-obs.gc index 9cfbc3b8e0..2af5c284a4 100644 --- a/goal_src/jak1/levels/jungleb/jungleb-obs.gc +++ b/goal_src/jak1/levels/jungleb/jungleb-obs.gc @@ -190,7 +190,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 190) + group-jungle-blue-eco-room-activate -1 #f #f @@ -256,7 +256,7 @@ (initialize-skeleton this *eggtop-sg* '()) (logior! (-> this skel status) (janim-status inited)) (update-transforms! (-> this root)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 189) this)) + (set! (-> this part) (create-launch-control group-jungle-blue-eco-room-open this)) (set! (-> this sound-id) (new-sound-id)) (cond ((task-complete? *game-info* (-> this entity extra perm task)) (go eggtop-close #t)) diff --git a/goal_src/jak1/levels/lavatube/lavatube-energy.gc b/goal_src/jak1/levels/lavatube/lavatube-energy.gc index 1e6d9528d5..531df9e0bd 100644 --- a/goal_src/jak1/levels/lavatube/lavatube-energy.gc +++ b/goal_src/jak1/levels/lavatube/lavatube-energy.gc @@ -356,7 +356,7 @@ (s5-0 (new 'stack-no-clear 'matrix))) (vector-! gp-0 (target-pos 0) (-> self root trans)) (quaternion->matrix s5-0 (-> self root quat)) - (vector-dot gp-0 (the-as vector (-> s5-0 vector))))) + (vector-dot gp-0 (-> s5-0 vector 0)))) (defbehavior energydoor-open-handler energydoor ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 @@ -604,7 +604,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 546) + group-energyball-explode 600 #f #f @@ -663,7 +663,7 @@ (energyball-init self) (set! (-> self root trans quad) (-> arg0 quad)) (initialize-skeleton self *energyball-sg* '()) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 545) self)) + (set! (-> self part) (create-launch-control group-energyball-always self)) (go energyball-idle) (none)) @@ -831,7 +831,7 @@ (set! (-> s5-0 nav-radius) (* 0.75 (-> s5-0 root-prim local-sphere w))) (backup-collide-with-as s5-0) (set! (-> arg0 root) s5-0)) - (let ((v0-5 (create-launch-control (-> *part-group-id-table* 544) arg0))) (set! (-> arg0 part) v0-5) v0-5)) + (let ((v0-5 (create-launch-control group-energyarm arg0))) (set! (-> arg0 part) v0-5) v0-5)) (defbehavior energyarm-init-by-other energyarm ((arg0 vector) (arg1 float)) (energyarm-init self) diff --git a/goal_src/jak1/levels/lavatube/lavatube-obs.gc b/goal_src/jak1/levels/lavatube/lavatube-obs.gc index fcf167483c..6a37a96485 100644 --- a/goal_src/jak1/levels/lavatube/lavatube-obs.gc +++ b/goal_src/jak1/levels/lavatube/lavatube-obs.gc @@ -390,9 +390,9 @@ (set! (-> self leak s5-1 first-frame) #f) (let ((s4-1 (new 'stack-no-clear 'matrix))) (matrix-transpose! s4-1 gp-0) - (vector-matrix*! (the-as vector (-> self leak s5-1)) (the-as vector (-> self leak s5-1)) s4-1))) + (vector-matrix*! (-> self leak s5-1 offset) (-> self leak s5-1 offset) s4-1))) (let ((s4-2 (new 'stack-no-clear 'vector))) - (vector-matrix*! s4-2 (the-as vector (-> self leak s5-1)) gp-0) + (vector-matrix*! s4-2 (-> self leak s5-1 offset) gp-0) (vector+! s4-2 s4-2 (-> self root trans)) (spawn (-> self part) s4-2))))) (if (< (vector-vector-xz-distance-squared (-> self root trans) (camera-pos)) 1073741800.0) @@ -410,7 +410,7 @@ (let ((gp-1 (new 'stack-no-clear 'vector))) (set! (-> gp-1 quad) (-> self root trans quad)) (+! (-> gp-1 y) -49152.0) - (process-spawn part-tracker :init part-tracker-init (-> *part-group-id-table* 541) 600 #f #f #f gp-1 :to *entity-pool*)) + (process-spawn part-tracker :init part-tracker-init group-darkecobarrel-explode 600 #f #f #f gp-1 :to *entity-pool*)) (suspend) (set-time! (-> self state-time)) (until (time-elapsed? (-> self state-time) (seconds 1)) @@ -504,7 +504,7 @@ (backup-collide-with-as s2-0) (set! (-> self root) s2-0)) (darkecobarrel-base-init arg0) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 540) self)) + (set! (-> self part) (create-launch-control group-darkecobarrel-hit self)) (set! (-> self speed) arg1) (set! (-> self start-time) arg2) (set! (-> self sync) arg3) @@ -796,7 +796,7 @@ (let ((gp-1 (new 'stack-no-clear 'vector))) (set! (-> gp-1 quad) (-> self root trans quad)) (+! (-> gp-1 y) -73728.0) - (process-spawn part-tracker :init part-tracker-init (-> *part-group-id-table* 542) 600 #f #f #f gp-1 :to *entity-pool*)) + (process-spawn part-tracker :init part-tracker-init group-chainmine-explode 600 #f #f #f gp-1 :to *entity-pool*)) (suspend) (set-time! (-> self state-time)) (until (time-elapsed? (-> self state-time) (seconds 1)) @@ -932,7 +932,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 543) + group-lavaballoon -1 #f #f @@ -977,7 +977,7 @@ (set! (-> this root) s4-0)) (process-drawable-from-entity! this arg0) (initialize-skeleton this *lavaballoon-sg* '()) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 543) this)) + (set! (-> this part) (create-launch-control group-lavaballoon this)) (set! (-> this root pause-adjust-distance) 122880.0) (set! (-> this path) (new 'process 'path-control this 'path 0.0)) (logior! (-> this path flags) (path-control-flag display draw-line draw-point draw-text)) diff --git a/goal_src/jak1/levels/maincave/dark-crystal.gc b/goal_src/jak1/levels/maincave/dark-crystal.gc index a684033db2..0676034eb5 100644 --- a/goal_src/jak1/levels/maincave/dark-crystal.gc +++ b/goal_src/jak1/levels/maincave/dark-crystal.gc @@ -452,7 +452,7 @@ (process-spawn part-tracker :init part-tracker-init - (if (-> self underwater?) (-> *part-group-id-table* 323) (-> *part-group-id-table* 322)) + (if (-> self underwater?) group-dark-crystal-water-explode group-dark-crystal-gnd-explode) -1 #f #f diff --git a/goal_src/jak1/levels/maincave/driller-lurker.gc b/goal_src/jak1/levels/maincave/driller-lurker.gc index 5f8d1289d2..3dab95eacc 100644 --- a/goal_src/jak1/levels/maincave/driller-lurker.gc +++ b/goal_src/jak1/levels/maincave/driller-lurker.gc @@ -322,8 +322,7 @@ (else (set! (-> this up-blend) (seek-with-smooth (-> this up-blend) f28-1 (* 8192.0 (seconds-per-frame)) 0.125 0.01)))))) (when (and arg1 *target*) (set-target! (-> this neck) (target-pos 5)) - (if *target* - (look-at-enemy! (-> *target* neck) (the-as vector (-> this root-overeride root-prim prim-core)) 'attacking this))) + (if *target* (look-at-enemy! (-> *target* neck) (-> this root-overeride root-prim prim-core world-sphere) 'attacking this))) (let ((f30-3 (-> this drill-speed))) (let ((v1-56 (-> this mode))) (cond @@ -725,7 +724,7 @@ (new 'process 'ambient-sound (static-sound-spec "drill-idle" :fo-max 40) (-> this root-overeride trans))) (set! (-> this sound2) (new 'process 'ambient-sound (static-sound-spec "drill-idle2" :fo-max 60) (-> this root-overeride trans))) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 331) this)) + (set! (-> this part) (create-launch-control group-driller-lurker-drilling-debris this)) (let ((f0-34 (path-distance (-> this path)))) (set! (-> this path-units-per-meter) (/ 4096.0 f0-34))) (set! (-> this path-dir) 1.0) (set! (-> this path-u) 0.0) diff --git a/goal_src/jak1/levels/maincave/gnawer.gc b/goal_src/jak1/levels/maincave/gnawer.gc index ca3ccb6d49..05693dee84 100644 --- a/goal_src/jak1/levels/maincave/gnawer.gc +++ b/goal_src/jak1/levels/maincave/gnawer.gc @@ -1043,7 +1043,7 @@ (set! (-> this path) (new 'process 'curve-control this 'path -1000000000.0)) (logior! (-> this path flags) (path-control-flag display draw-line draw-point draw-text)) (if (< (-> this path curve num-cverts) 2) (go process-drawable-art-error "bad path")) - (set! (-> this part2) (create-launch-control (-> *part-group-id-table* 330) this)) + (set! (-> this part2) (create-launch-control group-gnawer-crumbs this)) (set! (-> this total-money) 0) (set! (-> this money-mask) (the-as uint 0)) (set! sv-32 (new 'static 'res-tag)) @@ -1061,7 +1061,7 @@ (let ((a3-15 (-> a0-49 a1-30))) (set! v1-100 (logior v1-100 (ash 1 a3-15))))) (set! (-> this money-mask) (the-as uint v1-100)))) (else (go process-drawable-art-error "bad actor params"))))) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 329) this)) + (set! (-> this part) (create-launch-control group-gnawer-loses-segment this)) (set! (-> this sound) (new 'process 'ambient-sound (static-sound-spec "gnawer-crawl" :fo-min 30 :fo-max 30) (-> this root trans))) (set! (-> this sound2) (new 'process 'ambient-sound (static-sound-spec "gnawer-chew" :fo-max 40) (-> this root trans))) diff --git a/goal_src/jak1/levels/maincave/mother-spider-egg.gc b/goal_src/jak1/levels/maincave/mother-spider-egg.gc index 82771f3c2b..65b7aed613 100644 --- a/goal_src/jak1/levels/maincave/mother-spider-egg.gc +++ b/goal_src/jak1/levels/maincave/mother-spider-egg.gc @@ -262,7 +262,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 324) + group-spider-egg-hatches -1 #f #f @@ -293,7 +293,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 325) + group-spider-egg-explodes -1 #f #f @@ -322,7 +322,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 325) + group-spider-egg-explodes -1 #f #f diff --git a/goal_src/jak1/levels/maincave/mother-spider-proj.gc b/goal_src/jak1/levels/maincave/mother-spider-proj.gc index 1d70897dd3..8521eb853f 100644 --- a/goal_src/jak1/levels/maincave/mother-spider-proj.gc +++ b/goal_src/jak1/levels/maincave/mother-spider-proj.gc @@ -209,7 +209,7 @@ (defmethod projectile-method-24 ((this mother-spider-proj)) (with-pp - (spawn (-> this part) (the-as vector (-> this root root-prim prim-core))) + (spawn (-> this part) (-> this root root-prim prim-core world-sphere)) (let ((s5-0 (the-as sound-rpc-set-param (get-sound-buffer-entry)))) (set! (-> s5-0 command) (sound-command set-param)) (set! (-> s5-0 id) (-> this sound-id)) @@ -273,7 +273,7 @@ (none)) (defmethod projectile-method-27 ((this mother-spider-proj)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 326) this)) + (set! (-> this part) (create-launch-control group-mother-spider-proj-fly this)) (set! (-> this max-speed) 32768.0) (set! (-> this update-velocity) mother-spider-proj-update-velocity) (set! (-> this max-turn) 5916.4443) @@ -309,7 +309,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 327) + group-mother-spider-proj-hit -1 #f #f @@ -329,7 +329,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 328) + group-mother-spider-proj-die -1 #f #f diff --git a/goal_src/jak1/levels/maincave/mother-spider.gc b/goal_src/jak1/levels/maincave/mother-spider.gc index 4c6bf75cf8..8f145d48eb 100644 --- a/goal_src/jak1/levels/maincave/mother-spider.gc +++ b/goal_src/jak1/levels/maincave/mother-spider.gc @@ -165,7 +165,7 @@ 1.0) (set! (-> self gravity) (rand-vu-float-range -266240.0 -163840.0)) (initialize-skeleton self *mother-spider-leg-sg* '()) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 614) self)) + (set! (-> self part) (create-launch-control group-mother-spider-leg self)) (create-connection! *cavecrystal-light-control* self (-> self entity) @@ -417,8 +417,7 @@ (when arg1 (when *target* (case (-> this mode) - ((1 2) - (if *target* (look-at-enemy! (-> *target* neck) (the-as vector (-> this root root-prim prim-core)) 'attacking this))))) + ((1 2) (if *target* (look-at-enemy! (-> *target* neck) (-> this root root-prim prim-core world-sphere) 'attacking this))))) (set-target! (-> this neck) (target-pos 5))))) (none)) @@ -1052,7 +1051,7 @@ (cond ((and (= (-> arg0 vector 2 x) 0.0) (= (-> arg0 vector 2 y) 0.0)) (set! (-> arg0 vector 0 x) (-> arg0 vector 2 z))) (else (set! (-> arg0 vector 0 x) (- (-> arg0 vector 2 y))) (set! (-> arg0 vector 0 y) (-> arg0 vector 2 x)))) - (vector-cross! (-> arg0 vector 1) (the-as vector (-> arg0 vector)) (-> arg0 vector 2)) + (vector-cross! (-> arg0 vector 1) (-> arg0 vector 0) (-> arg0 vector 2)) (vector-normalize! (-> arg0 vector 1) 1.0) (set! (-> arg0 vector 0 w) 0.0) (set! (-> arg0 vector 1 w) 0.0) @@ -1180,7 +1179,7 @@ (logior! (-> this path flags) (path-control-flag display draw-line draw-point draw-text)) (set! (-> this fact) (new 'process 'fact-info-enemy this (pickup-type eco-pill-random) (-> *FACT-bank* default-pill-inc))) (set! (-> this draw shadow-ctrl) (new 'process 'shadow-control 0.0 0.0 4096000.0 (the-as float 60) 245760.0)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 618) this)) + (set! (-> this part) (create-launch-control group-mother-spider-leg-socket this)) (logior! (-> this skel status) (janim-status inited)) (let ((v0-30 (new 'process 'joint-mod (joint-mod-handler-mode reset) this 19))) (set! (-> this neck) v0-30) diff --git a/goal_src/jak1/levels/misty/balloonlurker.gc b/goal_src/jak1/levels/misty/balloonlurker.gc index acfa3c5a24..eb2a3758f1 100644 --- a/goal_src/jak1/levels/misty/balloonlurker.gc +++ b/goal_src/jak1/levels/misty/balloonlurker.gc @@ -548,7 +548,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 204) + group-balloonlurker-mine-explosion -1 #f #f @@ -643,7 +643,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 203) + group-balloonlurker-pilot-death -1 #f #f diff --git a/goal_src/jak1/levels/misty/misty-conveyor.gc b/goal_src/jak1/levels/misty/misty-conveyor.gc index 6f7b66bd0a..1b466d3b2e 100644 --- a/goal_src/jak1/levels/misty/misty-conveyor.gc +++ b/goal_src/jak1/levels/misty/misty-conveyor.gc @@ -118,7 +118,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 71) + group-crate-explode 20 #f #f @@ -238,7 +238,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 197) + group-keg-bounce -1 keg-bounce-set-particle-rotation-callback (-> self ppointer) diff --git a/goal_src/jak1/levels/misty/misty-obs.gc b/goal_src/jak1/levels/misty/misty-obs.gc index 8198e836a2..61e24cc4d0 100644 --- a/goal_src/jak1/levels/misty/misty-obs.gc +++ b/goal_src/jak1/levels/misty/misty-obs.gc @@ -990,7 +990,7 @@ (process-drawable-from-entity! this arg0) (initialize-skeleton this *boatpaddle-sg* '()) (logclear! (-> this mask) (process-mask actor-pause)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 196) this)) + (set! (-> this part) (create-launch-control group-misty-boat-paddle this)) (go boatpaddle-idle) (none)) @@ -1027,7 +1027,7 @@ (process-drawable-from-entity! this arg0) (logclear! (-> this mask) (process-mask actor-pause)) (set! (-> this spawn-particle-enable) (= (res-lump-value arg0 'particle-select uint128) 1)) - (if (-> this spawn-particle-enable) (set! (-> this part) (create-launch-control (-> *part-group-id-table* 191) this))) + (if (-> this spawn-particle-enable) (set! (-> this part) (create-launch-control group-windturbine-particles this))) (initialize-skeleton this *windturbine-sg* '()) (go windturbine-idle) (none)) @@ -1174,19 +1174,11 @@ (initialize-skeleton this *mis-bone-bridge-sg* '()) (let ((v1-40 (res-lump-value arg0 'animation-select uint128))) (cond - ((= (the-as uint v1-40) 1) - (set! (-> this fall-anim-index) 2) - (set! (-> this particle-group) (-> *part-group-id-table* 192))) - ((= (the-as uint v1-40) 2) - (set! (-> this fall-anim-index) 3) - (set! (-> this particle-group) (-> *part-group-id-table* 194))) - ((= (the-as uint v1-40) 3) - (set! (-> this fall-anim-index) 2) - (set! (-> this particle-group) (-> *part-group-id-table* 193))) - ((= (the-as uint v1-40) 7) - (set! (-> this fall-anim-index) 4) - (set! (-> this particle-group) (-> *part-group-id-table* 195))) - (else (set! (-> this fall-anim-index) 2) (set! (-> this particle-group) (-> *part-group-id-table* 192))))) + ((= (the-as uint v1-40) 1) (set! (-> this fall-anim-index) 2) (set! (-> this particle-group) group-misty-bone-01)) + ((= (the-as uint v1-40) 2) (set! (-> this fall-anim-index) 3) (set! (-> this particle-group) group-misty-bone-02)) + ((= (the-as uint v1-40) 3) (set! (-> this fall-anim-index) 2) (set! (-> this particle-group) group-misty-bone-03)) + ((= (the-as uint v1-40) 7) (set! (-> this fall-anim-index) 4) (set! (-> this particle-group) group-misty-bone-07)) + (else (set! (-> this fall-anim-index) 2) (set! (-> this particle-group) group-misty-bone-01)))) (set! (-> this hit-points) 3) (if (and (-> this entity) (logtest? (-> this entity extra perm status) (entity-perm-status complete))) (go mis-bone-bridge-fall #t) diff --git a/goal_src/jak1/levels/misty/mistycannon.gc b/goal_src/jak1/levels/misty/mistycannon.gc index 1df4c95b33..4dafe5715e 100644 --- a/goal_src/jak1/levels/misty/mistycannon.gc +++ b/goal_src/jak1/levels/misty/mistycannon.gc @@ -681,9 +681,9 @@ (a2-1 (new 'stack-no-clear 'vector)) (t2-0 (new 'stack-no-clear 'collide-tri-result))) 0.0 - (vector-! a2-1 (the-as vector v1-5) (the-as vector a1-2)) + (vector-! a2-1 (-> v1-5 world-sphere) (-> a1-2 world-sphere)) (when (< (fill-and-probe-using-line-sphere *collide-cache* - (the-as vector a1-2) + (-> a1-2 world-sphere) a2-1 40.96 (collide-kind background) @@ -780,8 +780,8 @@ (set! (-> self root transv quad) (-> arg0 vel quad)) (set! (-> self blast-radius) (-> arg0 blast-radius)) (set! (-> self water-height) (res-lump-float (-> self entity) 'water-height :default -4096000.0)) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 117) self)) - (set! (-> self part2) (create-launch-control (-> *part-group-id-table* 118) self)) + (set! (-> self part) (create-launch-control group-beach-sack-fuse self)) + (set! (-> self part2) (create-launch-control group-beach-sack-explosion self)) (go mistycannon-missile-idle) (none)) @@ -1115,8 +1115,8 @@ (kill-current-level-hint '() '(sidekick voicebox) 'exit) (when (and (hud-hidden?) (can-grab-display? self)) (let ((gp-0 (new 'stack 'font-context *font-default-matrix* 32 160 0.0 (font-color default) (font-flags shadow kerning)))) - (let ((v1-15 gp-0)) (set! (-> v1-15 width) (the float 440))) - (let ((v1-16 gp-0)) (set! (-> v1-16 height) (the float 80))) + (set-width! gp-0 440) + (set-height! gp-0 80) (set! (-> gp-0 flags) (font-flags shadow kerning large)) (print-game-text (lookup-text! *common-text* (text-id press-to-use) #f) gp-0 #f 128 22)) (when (cpad-pressed? 0 circle) @@ -1145,7 +1145,7 @@ (let ((t9-0 matrix-rotate-yx!) (a0-1 (-> self tracking)) (v1-2 (-> (the-as mistycannon (-> v1-0 0)) rotate))) - (t9-0 (the-as matrix a0-1) (the float (sar (shl (the int (+ (-> v1-2 min) (-> v1-2 value))) 48) 48)) 3640.889))) + (t9-0 (-> a0-1 inv-mat) (the float (sar (shl (the int (+ (-> v1-2 min) (-> v1-2 value))) 48) 48)) 3640.889))) (suspend)))) (defstate mistycannon-player-control (mistycannon) @@ -1298,7 +1298,7 @@ (set! (-> this center-point z) (if (and v1-70 (< 2.0 (the float (-> sv-48 elt-count)))) (-> v1-70 2) 0.0))))) (set! (-> this accuracy-range) 16384.0) (mistycannon-pick-random-target-point) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 119) this)) + (set! (-> this part) (create-launch-control group-beach-cannon-fire this)) (set! (-> this part-timer) (+ (current-time) (seconds -10))) (set! (-> this postbindinfo-ok) #f) (let ((v1-79 (-> this rotate))) diff --git a/goal_src/jak1/levels/misty/quicksandlurker.gc b/goal_src/jak1/levels/misty/quicksandlurker.gc index ff6b8ee1f8..52244a7450 100644 --- a/goal_src/jak1/levels/misty/quicksandlurker.gc +++ b/goal_src/jak1/levels/misty/quicksandlurker.gc @@ -306,7 +306,7 @@ (while (not (time-elapsed? (-> self state-time) (seconds 4))) (fill-cache-integrate-and-collide! (-> self root) (-> self root transv) (-> self root root-prim collide-with)) (if (or (logtest? (-> self root status) (cshape-moving-flags twall)) - (< (vector-vector-distance (-> self root trans) (the-as vector (-> self root trans-old))) 40.96)) + (< (vector-vector-distance (-> self root trans) (-> self root trans-old 0)) 40.96)) (go quicksandlurker-missile-impact)) (spawn (-> self part) (-> self root trans)) (find-ground-and-draw-shadow (-> self root trans) @@ -329,7 +329,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 200) + group-quicksandlurker-missile-impact -1 #f #f @@ -369,7 +369,7 @@ (set! (-> self root quat vec quad) (-> (the-as process-drawable (-> self parent 0)) root quat vec quad)) (vector-identity! (-> self root scale)) (set! (-> self root transv quad) (-> arg0 velocity quad)) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 198) self)) + (set! (-> self part) (create-launch-control group-quicksandlurker-missile self)) (go quicksandlurker-missile-idle) (none)) @@ -560,7 +560,17 @@ (let ((f1-0 (vector-xz-length s5-0))) (set! (-> s5-0 y) (fmin (-> s5-0 y) (/ f1-0 2)))) (vector-normalize! s5-0 49152.0) (spawn-quicksandlurker-missile self gp-0 s5-0 (-> self entity))) - (process-spawn part-tracker :init part-tracker-init (-> *part-group-id-table* 199) -1 #f #f #f gp-0 :to *entity-pool*))) + (process-spawn part-tracker + :init + part-tracker-init + group-quicksandlurker-pre-missile + -1 + #f + #f + #f + gp-0 + :to + *entity-pool*))) (defstate quicksandlurker-attack (quicksandlurker) :event quicksandlurker-default-event-handler @@ -628,7 +638,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 201) + group-quicksandlurker-hide -1 #f #f @@ -649,7 +659,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 202) + group-quicksandlurker-popup -1 #f #f diff --git a/goal_src/jak1/levels/misty/sidekick-human.gc b/goal_src/jak1/levels/misty/sidekick-human.gc index 710cd8fc8a..af9c4452f1 100644 --- a/goal_src/jak1/levels/misty/sidekick-human.gc +++ b/goal_src/jak1/levels/misty/sidekick-human.gc @@ -1158,7 +1158,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 557) + group-evilsib-appear -1 #f #f @@ -1333,7 +1333,7 @@ (send-event (handle->process (-> self evilbro)) 'eval (lambda :behavior sequenceB () - (let ((v0-0 (create-launch-control (-> *part-group-id-table* 558) self))) (set! (-> self part) v0-0) v0-0))))) + (let ((v0-0 (create-launch-control group-evilsib-hover self))) (set! (-> self part) v0-0) v0-0))))) (let ((gp-4 (entity-by-name "evilsis-2"))) (when gp-4 (set! (-> self evilsis) (ppointer->handle (manipy-spawn (-> self root trans) gp-4 *evilsis-sg* #f :to self))) @@ -1349,7 +1349,7 @@ (send-event (handle->process (-> self evilsis)) 'eval (lambda :behavior sequenceB () - (let ((v0-0 (create-launch-control (-> *part-group-id-table* 558) self))) (set! (-> self part) v0-0) v0-0))))))))) + (let ((v0-0 (create-launch-control group-evilsib-hover self))) (set! (-> self part) v0-0) v0-0))))))))) :exit (behavior () (send-event *target* 'sidekick #t) @@ -1399,7 +1399,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 561) + group-sequenceC-exploding-can -1 #f #f @@ -1441,7 +1441,7 @@ *darkecocan-glow-sg* (-> self draw art-group) (-> (the-as process-taskable (-> self parent 0)) entity)) - (let ((v0-1 (create-launch-control (-> *part-group-id-table* 560) self))) (set! (-> self part) v0-1) v0-1)))) + (let ((v0-1 (create-launch-control group-sequenceC-glowing-can self))) (set! (-> self part) v0-1) v0-1)))) (the-as basic (new 'static 'spool-anim @@ -1533,7 +1533,7 @@ (when (>= (ja-aframe-num 0) 1655.0) (let ((gp-0 (new 'stack-no-clear 'vector))) (vector<-cspace! gp-0 (-> self node-list data 3)) - (process-spawn part-tracker :init part-tracker-init (-> *part-group-id-table* 562) -1 #f #f #f gp-0 :to *entity-pool*)) + (process-spawn part-tracker :init part-tracker-init group-sequenceC-dark-splash -1 #f #f #f gp-0 :to *entity-pool*)) (set! (-> self cur-trans-hook) nothing)) 0 (none)) diff --git a/goal_src/jak1/levels/ogre/flying-lurker.gc b/goal_src/jak1/levels/ogre/flying-lurker.gc index 80c9bd5986..68d58f4347 100644 --- a/goal_src/jak1/levels/ogre/flying-lurker.gc +++ b/goal_src/jak1/levels/ogre/flying-lurker.gc @@ -131,7 +131,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 474) + group-tntbarrel-explosion -1 #f #f diff --git a/goal_src/jak1/levels/ogre/ogre-obs.gc b/goal_src/jak1/levels/ogre/ogre-obs.gc index a78a20ed61..d89aa27a67 100644 --- a/goal_src/jak1/levels/ogre/ogre-obs.gc +++ b/goal_src/jak1/levels/ogre/ogre-obs.gc @@ -285,7 +285,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 473) + group-tntbarrel-BIG-explosion -1 #f #f @@ -296,7 +296,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 474) + group-tntbarrel-explosion -1 #f #f @@ -738,7 +738,7 @@ (let ((gp-0 (new 'stack-no-clear 'vector))) (let ((a1-1 (-> block param 2))) (set! (-> gp-0 quad) (-> self node-list data a1-1 bone transform vector 3 quad))) (set! (-> gp-0 y) 118784.0) - (process-spawn part-tracker :init part-tracker-init (-> *part-group-id-table* 466) -1 #f #f #f gp-0 :to *entity-pool*)))))) + (process-spawn part-tracker :init part-tracker-init group-ogre-bridge-splash -1 #f #f #f gp-0 :to *entity-pool*)))))) :code (behavior () (ja-no-eval :group! ogre-bridge-break-ja :num! (seek!) :frame-num 0.0) @@ -1125,7 +1125,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 475) + group-shortcut-boulder-explosion -1 #f #f diff --git a/goal_src/jak1/levels/ogre/ogreboss.gc b/goal_src/jak1/levels/ogre/ogreboss.gc index 0fc602ca45..a52f7c8264 100644 --- a/goal_src/jak1/levels/ogre/ogreboss.gc +++ b/goal_src/jak1/levels/ogre/ogreboss.gc @@ -170,7 +170,7 @@ (defun ogreboss-rock-explosion-effect ((arg0 basic)) (with-pp (sound-play "ogre-explode" :position (the-as symbol arg0)) - (process-spawn part-tracker :init part-tracker-init (-> *part-group-id-table* 471) -1 #f #f #f arg0 :to *entity-pool*) + (process-spawn part-tracker :init part-tracker-init group-ogreboss-missile-impact -1 #f #f #f arg0 :to *entity-pool*) (activate! *camera-smush-control* (the-as float 819.2) 37 600 (the-as float 1.0) (the-as float 0.995)) (let ((gp-2 (manipy-spawn arg0 (-> pp entity) *ogreboss-shoot-boulder-break-sg* #f :to pp))) (quaternion-axis-angle! (-> (the-as manipy (-> gp-2 0)) root quat) @@ -312,7 +312,7 @@ (set! (-> self pickup-type) (-> arg0 pickup-type)) (let ((f30-1 (* 65536.0 (rand-vu)))) (quaternion-axis-angle! (-> self tumble-quat) (cos f30-1) (the-as float 0.0) (sin f30-1) (the-as float 2730.6667))) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 469) self)) + (set! (-> self part) (create-launch-control group-ogreboss-missile self)) (set-vector! (-> self draw color-emissive) 0.125 0.0625 0.0 0.0) (go ogreboss-missile-idle) (none)) @@ -406,7 +406,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 471) + group-ogreboss-missile-impact -1 #f #f @@ -480,7 +480,7 @@ (set! (-> self joint enable) #f) (ja-no-eval :group! ogreboss-super-boulder-roll-ja :num! (seek! (ja-aframe (the-as float 100.0) 0)) :frame-num 0.0) (until (ja-done? 0) - (when (< 81920.0 (vector-vector-distance (the-as vector (-> self root root-prim prim-core)) (target-pos 0))) + (when (< 81920.0 (vector-vector-distance (-> self root root-prim prim-core world-sphere) (target-pos 0))) (ja-channel-push! 1 (seconds 0.1)) (go ogreboss-super-boulder-roll)) (suspend) @@ -577,7 +577,7 @@ (let ((f30-1 (* 65536.0 (rand-vu)))) (quaternion-axis-angle! (-> self tumble-quat) (cos f30-1) (the-as float 0.0) (sin f30-1) (the-as float 2730.6667))) (set! (-> self joint) (new 'process 'joint-mod-blend-local self 3 #f)) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 468) self)) + (set! (-> self part) (create-launch-control group-ogreboss-boulder-grow self)) (set-vector! (-> self draw color-emissive) 0.125 0.0625 0.0 0.0) (set! (-> self speed) 1.0) (set! (-> self size) 0.0) @@ -638,7 +638,7 @@ (behavior () (vector+*! (-> self root trans) (-> self src-pos) (-> self side-dir) (-> self side-pos)) (transform-post) - (find-ground-and-draw-shadow (the-as vector (-> self root root-prim prim-core)) + (find-ground-and-draw-shadow (-> self root root-prim prim-core world-sphere) (the-as vector #f) (the-as float 49152.0) (collide-kind background) @@ -905,7 +905,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 470) + group-ogreboss-pre-missile -1 #f #f diff --git a/goal_src/jak1/levels/racer_common/racer-part.gc b/goal_src/jak1/levels/racer_common/racer-part.gc index ec1bfcfd45..5360978ce9 100644 --- a/goal_src/jak1/levels/racer_common/racer-part.gc +++ b/goal_src/jak1/levels/racer_common/racer-part.gc @@ -247,6 +247,7 @@ (deftype hud-bike-heat (hud) ()) + (defmethod hud-update ((this hud-bike-heat)) (if *target* (tally-value this (the int (-> *target* racer heat)) 0)) 0 @@ -257,7 +258,7 @@ (when (< (-> this nb-of-particles) (-> this max-nb-of-particles)) (let ((s5-0 (-> this nb-of-particles))) (set! (-> this particles s5-0) (new 'static 'hud-particle)) - (set! (-> this particles s5-0 part) (create-launch-control (-> *part-group-id-table* 111) this)) + (set! (-> this particles s5-0 part) (create-launch-control group-part-hud-racer-heat-backing this)) (set! (-> this particles s5-0 init-pos x) 13.0) (set! (-> this particles s5-0 init-pos y) 370.0) (set! (-> this particles s5-0 init-pos z) 10.0) @@ -266,7 +267,7 @@ (when (< (-> this nb-of-particles) (-> this max-nb-of-particles)) (let ((s5-1 (-> this nb-of-particles))) (set! (-> this particles s5-1) (new 'static 'hud-particle)) - (set! (-> this particles s5-1 part) (create-launch-control (-> *part-group-id-table* 112) this)) + (set! (-> this particles s5-1 part) (create-launch-control group-part-hud-racer-heat-dial this)) (set! (-> this particles s5-1 init-pos x) 70.0) (set! (-> this particles s5-1 init-pos y) 370.0) (set! (-> this particles s5-1 init-pos z) 6.0) @@ -275,7 +276,7 @@ (when (< (-> this nb-of-particles) (-> this max-nb-of-particles)) (let ((s5-2 (-> this nb-of-particles))) (set! (-> this particles s5-2) (new 'static 'hud-particle)) - (set! (-> this particles s5-2 part) (create-launch-control (-> *part-group-id-table* 113) this)) + (set! (-> this particles s5-2 part) (create-launch-control group-part-hud-racer-heat this)) (set! (-> this particles s5-2 init-pos x) 20.0) (set! (-> this particles s5-2 init-pos y) 370.0) (set! (-> this particles s5-2 init-pos z) 1.0) @@ -284,7 +285,7 @@ (when (< (-> this nb-of-particles) (-> this max-nb-of-particles)) (let ((s5-3 (-> this nb-of-particles))) (set! (-> this particles s5-3) (new 'static 'hud-particle)) - (set! (-> this particles s5-3 part) (create-launch-control (-> *part-group-id-table* 114) this)) + (set! (-> this particles s5-3 part) (create-launch-control group-part-hud-racer-heat-slice this)) (set! (-> this particles s5-3 init-pos x) 70.0) (set! (-> this particles s5-3 init-pos y) 370.0) (set! (-> this particles s5-3 init-pos z) 7.0) @@ -300,6 +301,7 @@ (deftype hud-bike-speed (hud) ()) + (defmethod hud-update ((this hud-bike-speed)) (if *target* (tally-value this (the int (-> *target* control unknown-float01)) 0)) 0 @@ -310,7 +312,7 @@ (when (< (-> this nb-of-particles) (-> this max-nb-of-particles)) (let ((s5-0 (-> this nb-of-particles))) (set! (-> this particles s5-0) (new 'static 'hud-particle)) - (set! (-> this particles s5-0 part) (create-launch-control (-> *part-group-id-table* 108) this)) + (set! (-> this particles s5-0 part) (create-launch-control group-part-hud-racer-speed-dial this)) (set! (-> this particles s5-0 init-pos x) 433.0) (set! (-> this particles s5-0 init-pos y) 370.0) (set! (-> this particles s5-0 init-pos z) 3.0) @@ -319,7 +321,7 @@ (when (< (-> this nb-of-particles) (-> this max-nb-of-particles)) (let ((s5-1 (-> this nb-of-particles))) (set! (-> this particles s5-1) (new 'static 'hud-particle)) - (set! (-> this particles s5-1 part) (create-launch-control (-> *part-group-id-table* 109) this)) + (set! (-> this particles s5-1 part) (create-launch-control group-part-hud-racer-speed this)) (set! (-> this particles s5-1 init-pos x) 378.0) (set! (-> this particles s5-1 init-pos y) 370.0) (set! (-> this particles s5-1 init-pos z) 5.0) @@ -328,7 +330,7 @@ (when (< (-> this nb-of-particles) (-> this max-nb-of-particles)) (let ((s5-2 (-> this nb-of-particles))) (set! (-> this particles s5-2) (new 'static 'hud-particle)) - (set! (-> this particles s5-2 part) (create-launch-control (-> *part-group-id-table* 110) this)) + (set! (-> this particles s5-2 part) (create-launch-control group-part-hud-racer-speed-front this)) (set! (-> this particles s5-2 init-pos x) 415.0) (set! (-> this particles s5-2 init-pos y) 370.0) (set! (-> this particles s5-2 init-pos z) 1.0) diff --git a/goal_src/jak1/levels/racer_common/racer-states.gc b/goal_src/jak1/levels/racer_common/racer-states.gc index 90dc3594b1..cb294b5309 100644 --- a/goal_src/jak1/levels/racer_common/racer-states.gc +++ b/goal_src/jak1/levels/racer_common/racer-states.gc @@ -628,7 +628,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 116) + group-racer-explode -1 #f #f @@ -706,7 +706,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 32) + group-lava-death -1 #f #f @@ -769,7 +769,7 @@ :code (behavior ((arg0 handle)) (set! (-> self control transv quad) (the-as uint128 0)) - (set! (-> self alt-cam-pos quad) (-> (&-> (-> self control) unknown-qword00) 0)) + (set! (-> self alt-cam-pos quad) (-> (&-> self control unknown-qword00) 0)) (logior! (-> self state-flags) (state-flags use-alt-cam-pos)) (set-time! (-> self state-time)) (let ((gp-0 (new 'stack-no-clear 'vector))) diff --git a/goal_src/jak1/levels/racer_common/racer.gc b/goal_src/jak1/levels/racer_common/racer.gc index 058737139a..7c2f33fd5a 100644 --- a/goal_src/jak1/levels/racer_common/racer.gc +++ b/goal_src/jak1/levels/racer_common/racer.gc @@ -172,8 +172,8 @@ (kill-current-level-hint '() '(sidekick voicebox) 'exit) (when (and (hud-hidden?) (can-grab-display? self)) (let ((gp-0 (new 'stack 'font-context *font-default-matrix* 32 160 0.0 (font-color default) (font-flags shadow kerning)))) - (let ((v1-24 gp-0)) (set! (-> v1-24 width) (the float 440))) - (let ((v1-25 gp-0)) (set! (-> v1-25 height) (the float 80))) + (set-width! gp-0 440) + (set-height! gp-0 80) (set! (-> gp-0 flags) (font-flags shadow kerning large)) (print-game-text (lookup-text! *common-text* (text-id press-to-use) #f) gp-0 #f 128 22)) (if (and (or (cpad-pressed? 0 circle) (= (-> self condition) 4)) (send-event *target* 'change-mode 'racing self)) @@ -220,7 +220,8 @@ (while (and *target* (logtest? (-> *target* control root-prim prim-core action) (collide-action racer))) (racer-effect) (suspend)) - (suspend-for (seconds 1) (racer-effect)) + (suspend-for (seconds 1) + (racer-effect)) (go arg0))) (defstate wait-for-return (racer) @@ -274,7 +275,7 @@ (set! (-> v1-23 0 param2) (the-as basic (-> this extra-trans)))) (set! (-> this condition) (res-lump-value arg0 'index int)) (set! (-> this fact) (new 'process 'fact-info this (pickup-type eco-pill-random) (-> *FACT-bank* default-pill-inc))) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 115) this)) + (set! (-> this part) (create-launch-control group-racer-trans-pad this)) (dotimes (s5-1 2) (let ((v1-32 (new 'process 'curve-control this 'path (the float (+ s5-1 1))))) (set! (-> this path-data s5-1) v1-32) diff --git a/goal_src/jak1/levels/racer_common/target-racer.gc b/goal_src/jak1/levels/racer_common/target-racer.gc index 77f88da778..1dfce3547a 100644 --- a/goal_src/jak1/levels/racer_common/target-racer.gc +++ b/goal_src/jak1/levels/racer_common/target-racer.gc @@ -276,17 +276,7 @@ ((< (-> self racer shock-offset) -8192.0) (set! (-> self racer shock-offset) -8192.0) (set! (-> self racer shock-offsetv) 0.0) - (process-spawn part-tracker - :init - part-tracker-init - (-> *part-group-id-table* 13) - -1 - #f - #f - #f - (-> self control trans) - :to - self) + (process-spawn part-tracker :init part-tracker-init group-land-poof-stone -1 #f #f #f (-> self control trans) :to self) (effect-control-method-10 (-> self skel effect) 'effect-land -1.0 -1))) (deg-diff (vector-y-angle gp-0) (vector-y-angle (-> self control transv))) (let ((f30-2 (vector-xz-length gp-0))) @@ -818,7 +808,7 @@ (seek! (-> self control unknown-float81) 0.0 (* 2.0 (seconds-per-frame))) (seek! (-> self racer mult-rotx) 1.0 (* 16.0 (seconds-per-frame))) (let ((f0-77 (vector-dot (-> self control dynam gravity-normal) (-> self control transv)))) - (vector-! (new 'stack-no-clear 'vector) (-> self control trans) (the-as vector (-> self control trans-old))) + (vector-! (new 'stack-no-clear 'vector) (-> self control trans) (-> self control trans-old 0)) (let* ((v1-128 (-> self racer bounce)) (f1-36 (cond ((= v1-128 1) (* -0.08888889 f0-77)) diff --git a/goal_src/jak1/levels/robocave/spider-egg.gc b/goal_src/jak1/levels/robocave/spider-egg.gc index e4259de054..c64a8b9a94 100644 --- a/goal_src/jak1/levels/robocave/spider-egg.gc +++ b/goal_src/jak1/levels/robocave/spider-egg.gc @@ -14,6 +14,7 @@ spider-egg-hatch (spider-egg-idle symbol))) + (defskelgroup *spider-egg-unbroken-sg* spider-egg spider-egg-unbroken-lod0-jg @@ -88,7 +89,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 324) + group-spider-egg-hatches -1 #f #f @@ -129,7 +130,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 325) + group-spider-egg-explodes -1 #f #f diff --git a/goal_src/jak1/levels/rolling/rolling-lightning-mole.gc b/goal_src/jak1/levels/rolling/rolling-lightning-mole.gc index 928efa0944..5de632d972 100644 --- a/goal_src/jak1/levels/rolling/rolling-lightning-mole.gc +++ b/goal_src/jak1/levels/rolling/rolling-lightning-mole.gc @@ -213,7 +213,7 @@ (quaternion->matrix s5-0 (-> self collide-info quat)) (set! (-> self run-blend-interp) (acos (vector-dot (-> s5-0 vector 2) (-> gp-0 vector 2)))) (set! (-> self run-blend-interp) (/ (-> self run-blend-interp) (-> self flee-info blend_interp_angle))) - (if (< (vector-dot (-> s5-0 vector 2) (the-as vector (-> gp-0 vector))) 0.0) + (if (< (vector-dot (-> s5-0 vector 2) (-> gp-0 vector 0)) 0.0) (set! (-> self run-blend-interp) (- (-> self run-blend-interp)))))) (defbehavior fleeing-nav-enemy-chase-post fleeing-nav-enemy () @@ -985,7 +985,7 @@ (set! (-> this root) (new 'process 'trsqv)) (process-drawable-from-entity! this arg0) (initialize-skeleton this *lightning-mole-sg* '()) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 456) this)) + (set! (-> this part) (create-launch-control group-peeper this)) (set! (-> this sound) (new 'process 'ambient-sound arg0 (-> this root trans))) (go peeper-up) (none)) diff --git a/goal_src/jak1/levels/rolling/rolling-obs.gc b/goal_src/jak1/levels/rolling/rolling-obs.gc index 0f603e7c2f..ee066b2ae9 100644 --- a/goal_src/jak1/levels/rolling/rolling-obs.gc +++ b/goal_src/jak1/levels/rolling/rolling-obs.gc @@ -328,7 +328,7 @@ (set! (-> this root) (new 'process 'trsqv)) (process-drawable-from-entity! this arg0) (initialize-skeleton this *dark-plant-sg* '()) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 455) this)) + (set! (-> this part) (create-launch-control group-dark-plant this)) (set! (-> this num-alts) (min 4 (entity-actor-count (-> this entity) 'alt-actor))) (dotimes (s5-3 (-> this num-alts)) (set! (-> this alts s5-3) (entity-actor-lookup (-> this entity) 'alt-actor s5-3))) @@ -697,9 +697,9 @@ (defbehavior gorge-start-draw-time gorge-start ((arg0 symbol) (arg1 symbol)) (let ((gp-0 (new 'stack 'font-context *font-default-matrix* 0 0 0.0 (font-color progress-yellow) (font-flags shadow kerning)))) - (let ((v1-1 gp-0)) (set! (-> v1-1 width) (the float 200))) - (let ((v1-2 gp-0)) (set! (-> v1-2 height) (the float 50))) - (let ((v1-3 gp-0)) (set! (-> v1-3 scale) 0.7)) + (set-width! gp-0 200) + (set-height! gp-0 50) + (set-scale! gp-0 0.7) (set! (-> gp-0 origin x) (the float (+ (-> self timer-pos-offset) 392))) (set! (-> gp-0 origin y) (the float (- 10 (-> self timer-pos-offset)))) (set! (-> gp-0 flags) (font-flags shadow kerning right large)) @@ -718,7 +718,7 @@ ((not arg0)) ((race-time-less-than (-> self this-time) (-> self record-time)) (when (< (mod (-> *display* real-frame-counter) 90) 60) - (let ((v1-18 gp-0)) (set! (-> v1-18 scale) 1.0)) + (set-scale! gp-0 1.0) (set! (-> gp-0 origin x) 156.0) (set! (-> gp-0 origin y) 80.0) (set! (-> gp-0 flags) (font-flags shadow kerning middle middle-vert large)) @@ -731,7 +731,7 @@ (else (if arg1 (ambient-hint-spawn "st-lose" (the-as vector #f) *entity-pool* 'stinger)) (when (< (mod (-> *display* real-frame-counter) 90) 60) - (let ((v1-30 gp-0)) (set! (-> v1-30 scale) 1.0)) + (set-scale! gp-0 1.0) (set! (-> gp-0 origin x) 156.0) (set! (-> gp-0 origin y) 80.0) (set! (-> gp-0 flags) (font-flags shadow kerning middle middle-vert large)) @@ -782,8 +782,8 @@ (send-event (ppointer->process (-> *hud-parts* money)) 'enable)) (when (< (mod (-> *display* real-frame-counter) 90) 60) (let ((gp-0 (new 'stack 'font-context *font-default-matrix* 156 80 0.0 (font-color red) (font-flags shadow kerning)))) - (let ((v1-20 gp-0)) (set! (-> v1-20 width) (the float 200))) - (let ((v1-21 gp-0)) (set! (-> v1-21 height) (the float 50))) + (set-width! gp-0 200) + (set-height! gp-0 50) (set! (-> gp-0 flags) (font-flags shadow kerning middle middle-vert large)) (print-game-text (lookup-text! *common-text* (text-id race-aborted) #f) gp-0 #f 128 22))) (suspend) diff --git a/goal_src/jak1/levels/rolling/rolling-race-ring.gc b/goal_src/jak1/levels/rolling/rolling-race-ring.gc index e68912b537..a8a1e6c6c5 100644 --- a/goal_src/jak1/levels/rolling/rolling-race-ring.gc +++ b/goal_src/jak1/levels/rolling/rolling-race-ring.gc @@ -503,7 +503,7 @@ (ppointer->handle (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 460) + group-rolling-ring-blue -1 race-ring-blue-set-particle-rotation-callback (-> self ppointer) @@ -518,7 +518,7 @@ (ppointer->handle (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 457) + group-rolling-ring -1 race-ring-set-particle-rotation-callback (-> self ppointer) @@ -542,7 +542,7 @@ (ppointer->handle (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 461) + group-rolling-spawn-ring-blue -1 race-ring-blue-set-particle-rotation-callback (-> self ppointer) @@ -554,7 +554,7 @@ (ppointer->handle (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 458) + group-rolling-spawn-ring -1 race-ring-set-particle-rotation-callback (-> self ppointer) @@ -574,7 +574,7 @@ (ppointer->handle (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 462) + group-rolling-explode-ring-blue -1 race-ring-blue-set-particle-rotation-callback (-> self ppointer) @@ -586,7 +586,7 @@ (ppointer->handle (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 459) + group-rolling-explode-ring -1 race-ring-set-particle-rotation-callback (-> self ppointer) @@ -610,7 +610,7 @@ (ppointer->handle (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 460) + group-rolling-ring-blue -1 race-ring-blue-set-particle-rotation-callback (-> self ppointer) @@ -624,7 +624,7 @@ (ppointer->handle (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 457) + group-rolling-ring -1 race-ring-set-particle-rotation-callback (-> self ppointer) @@ -765,7 +765,7 @@ (+! (-> this rot-y) 16384.0)))) (+! (-> this rot-y) (res-lump-float arg0 'rotoffset)) (set-vector! (-> this cyl axis) (cos (-> this rot-y)) 0.0 (- (sin (-> this rot-y))) 1.0) - (vector+float*! (the-as vector (-> this cyl)) (-> this root trans) (-> this cyl axis) -2048.0) + (vector+float*! (-> this cyl origin) (-> this root trans) (-> this cyl axis) -2048.0) (set! (-> this cyl radius) 24576.0) (set! (-> this cyl length) 4096.0) (cond diff --git a/goal_src/jak1/levels/snow/ice-cube.gc b/goal_src/jak1/levels/snow/ice-cube.gc index a6adafb98e..5a4edc5532 100644 --- a/goal_src/jak1/levels/snow/ice-cube.gc +++ b/goal_src/jak1/levels/snow/ice-cube.gc @@ -502,10 +502,10 @@ (call-parent-method this offset)) (defmethod init-from-entity! ((this ice-cube) (arg0 entity-actor)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 507) this)) - (set! (-> this part2) (create-launch-control (-> *part-group-id-table* 508) this)) - (set! (-> this part3) (create-launch-control (-> *part-group-id-table* 509) this)) - (set! (-> this part4) (create-launch-control (-> *part-group-id-table* 567) this)) + (set! (-> this part) (create-launch-control group-ice-cube-appear1 this)) + (set! (-> this part2) (create-launch-control group-ice-cube-appear2 this)) + (set! (-> this part3) (create-launch-control group-ice-cube-shatter this)) + (set! (-> this part4) (create-launch-control group-ice-cube-foot-puff this)) (initialize-collision this) (nav-enemy-method-48 this) (let ((s4-0 (-> this path curve num-cverts))) diff --git a/goal_src/jak1/levels/snow/snow-bumper.gc b/goal_src/jak1/levels/snow/snow-bumper.gc index 8c21a3d423..8239784457 100644 --- a/goal_src/jak1/levels/snow/snow-bumper.gc +++ b/goal_src/jak1/levels/snow/snow-bumper.gc @@ -268,8 +268,8 @@ (set! (-> this root) s4-0)) (process-drawable-from-entity! this arg0) (initialize-skeleton this *snow-bumper-sg* '()) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 519) this)) - (set! (-> this part2) (create-launch-control (-> *part-group-id-table* 520) this)) + (set! (-> this part) (create-launch-control group-snow-bumper-idle this)) + (set! (-> this part2) (create-launch-control group-snow-bumper-shove this)) (nav-mesh-connect this (-> this root) (the-as nav-control #f)) (set! (-> this link) (new 'process 'actor-link-info this)) (set! (-> this bumper-id) (+ (actor-count-before (-> this link)) 1)) diff --git a/goal_src/jak1/levels/snow/snow-flutflut-obs.gc b/goal_src/jak1/levels/snow/snow-flutflut-obs.gc index d86f80639a..b0be8b0a60 100644 --- a/goal_src/jak1/levels/snow/snow-flutflut-obs.gc +++ b/goal_src/jak1/levels/snow/snow-flutflut-obs.gc @@ -647,7 +647,7 @@ *flutflut-plat-small-sg*) (defmethod baseplat-method-25 ((this flutflut-plat-small)) - (let ((v0-0 (create-launch-control (-> *part-group-id-table* 516) this))) + (let ((v0-0 (create-launch-control group-flutflut-plat-small this))) (set! (-> this part) v0-0) (the-as sparticle-launch-group v0-0))) @@ -687,7 +687,7 @@ *flutflut-plat-med-sg*) (defmethod baseplat-method-25 ((this flutflut-plat-med)) - (let ((v0-0 (create-launch-control (-> *part-group-id-table* 517) this))) + (let ((v0-0 (create-launch-control group-flutflut-plat-med this))) (set! (-> this part) v0-0) (the-as sparticle-launch-group v0-0))) @@ -715,7 +715,7 @@ *flutflut-plat-large-sg*) (defmethod baseplat-method-25 ((this flutflut-plat-large)) - (let ((v0-0 (create-launch-control (-> *part-group-id-table* 518) this))) + (let ((v0-0 (create-launch-control group-flutflut-plat-large this))) (set! (-> this part) v0-0) (the-as sparticle-launch-group v0-0))) diff --git a/goal_src/jak1/levels/snow/snow-obs.gc b/goal_src/jak1/levels/snow/snow-obs.gc index c3c1678692..83997615c2 100644 --- a/goal_src/jak1/levels/snow/snow-obs.gc +++ b/goal_src/jak1/levels/snow/snow-obs.gc @@ -271,7 +271,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 511) + group-snow-yellow-eco-room-activate -1 #f #f @@ -346,7 +346,7 @@ (set! (-> this spawn-trans quad) (-> this root trans quad)) (+! (-> this root trans y) -2662.4) (update-transforms! (-> this root)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 510) this)) + (set! (-> this part) (create-launch-control group-snow-yellow-eco-room-open this)) (set! (-> this sound) (new 'process 'ambient-sound (static-sound-spec "electric-loop" :fo-max 40) (-> this root trans))) (cond ((task-complete? *game-info* (-> this entity extra perm task)) (go snow-eggtop-idle-down)) @@ -793,9 +793,9 @@ (set! (-> this root) s4-0)) (process-drawable-from-entity! this arg0) (initialize-skeleton this *snow-fort-gate-sg* '()) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 512) this)) - (set! (-> this part2) (create-launch-control (-> *part-group-id-table* 513) this)) - (set! (-> this part3) (create-launch-control (-> *part-group-id-table* 514) this)) + (set! (-> this part) (create-launch-control group-snow-fort-gate-coming-down this)) + (set! (-> this part2) (create-launch-control group-snow-fort-gate-hits-bottom this)) + (set! (-> this part3) (create-launch-control group-snow-fort-gate-snowdrops this)) (set! (-> this open-trans quad) (-> this root trans quad)) (set! (-> this closed-trans quad) (-> this open-trans quad)) (+! (-> this open-trans y) -141312.0) @@ -972,7 +972,7 @@ (set! (-> this root) (new 'process 'trsqv)) (process-drawable-from-entity! this arg0) (initialize-skeleton this *snow-gears-sg* '()) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 515) this)) + (set! (-> this part) (create-launch-control group-snow-gears-dripping this)) (set! (-> this sound) (new 'process 'ambient-sound (static-sound-spec "snow-engine" :fo-max 300) (-> this root trans))) (go snow-gears-idle) (none)) diff --git a/goal_src/jak1/levels/snow/snow-ram-boss.gc b/goal_src/jak1/levels/snow/snow-ram-boss.gc index d30e60748f..07bf5a9d23 100644 --- a/goal_src/jak1/levels/snow/snow-ram-boss.gc +++ b/goal_src/jak1/levels/snow/snow-ram-boss.gc @@ -438,7 +438,7 @@ (the-as process-drawable #f) 0.0 81920.0)) - (if (-> this launched?) (spawn (-> this part2) (the-as vector (-> this root root-prim prim-core)))) + (if (-> this launched?) (spawn (-> this part2) (-> this root root-prim prim-core world-sphere))) (let ((s5-0 (the-as sound-rpc-set-param (get-sound-buffer-entry)))) (set! (-> s5-0 command) (sound-command set-param)) (set! (-> s5-0 id) (-> this sound-id)) @@ -495,8 +495,8 @@ (defmethod projectile-method-27 ((this ram-boss-proj)) (set! (-> this charge-sound-id) (new 'static 'sound-id)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 521) this)) - (set! (-> this part2) (create-launch-control (-> *part-group-id-table* 522) this)) + (set! (-> this part) (create-launch-control group-ram-boss-proj-grow this)) + (set! (-> this part2) (create-launch-control group-ram-boss-proj-fly this)) (set! (-> this launched?) #f) (set! (-> this growth) 0.0) (set! (-> this max-speed) 40960.0) @@ -594,7 +594,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 523) + group-ram-boss-proj-hit -1 #f #f @@ -614,7 +614,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 524) + group-ram-boss-proj-die -1 #f #f @@ -887,8 +887,8 @@ (set! (-> this draw origin-joint-index) (the-as uint 3)) (init-defaults! this *ram-boss-nav-enemy-info*) (logclear! (-> this enemy-info options) (fact-options has-power-cell)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 525) this)) - (set! (-> this part2) (create-launch-control (-> *part-group-id-table* 574) this)) + (set! (-> this part) (create-launch-control group-ram-boss-shield-on-fire this)) + (set! (-> this part2) (create-launch-control group-ram-boss-foot-puff this)) (set! (-> this shield-jmod) (new 'process 'joint-mod-set-local this 32 #f #f #t)) (set! (-> this shield-jmod enable) #f) (set! (-> this has-shield?) #t) @@ -1018,7 +1018,7 @@ (when *target* (if *target* (look-at-enemy! (-> *target* neck) - (the-as vector (-> (the-as collide-shape-prim-group (-> self collide-info root-prim)) prims 0 prim-core)) + (-> (the-as collide-shape-prim-group (-> self collide-info root-prim)) prims 0 prim-core world-sphere) 'attacking self))) (suspend)))) diff --git a/goal_src/jak1/levels/snow/snow-ram.gc b/goal_src/jak1/levels/snow/snow-ram.gc index 63833c5066..e12765544a 100644 --- a/goal_src/jak1/levels/snow/snow-ram.gc +++ b/goal_src/jak1/levels/snow/snow-ram.gc @@ -311,8 +311,8 @@ (update-transforms! (-> this root)) (set! (-> this orient-ry) (quaternion-y-angle (-> this root quat))) (nav-mesh-connect this (-> this root) (the-as nav-control #f)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 526) this)) - (set! (-> this part2) (create-launch-control (-> *part-group-id-table* 527) this)) + (set! (-> this part) (create-launch-control group-ram-hit-wall this)) + (set! (-> this part2) (create-launch-control group-ram-wheel-puffs this)) (set! (-> this ram-id) (res-lump-value arg0 'extra-id int)) (case (-> this ram-id) ((1) diff --git a/goal_src/jak1/levels/snow/yeti.gc b/goal_src/jak1/levels/snow/yeti.gc index e6d9053649..8b09a05319 100644 --- a/goal_src/jak1/levels/snow/yeti.gc +++ b/goal_src/jak1/levels/snow/yeti.gc @@ -441,8 +441,8 @@ (call-parent-method this offset)) (defbehavior yeti-slave-init-by-other yeti-slave ((arg0 entity) (arg1 yeti) (arg2 vector) (arg3 vector) (arg4 symbol)) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 538) self)) - (set! (-> self part2) (create-launch-control (-> *part-group-id-table* 539) self)) + (set! (-> self part) (create-launch-control group-yeti-slave-appear1 self)) + (set! (-> self part2) (create-launch-control group-yeti-slave-appear2 self)) (initialize-collision self) (set! (-> self collide-info trans quad) (-> arg2 quad)) (vector-identity! (-> self collide-info scale)) diff --git a/goal_src/jak1/levels/sunken/bully.gc b/goal_src/jak1/levels/sunken/bully.gc index 800418ae10..f969fb1f71 100644 --- a/goal_src/jak1/levels/sunken/bully.gc +++ b/goal_src/jak1/levels/sunken/bully.gc @@ -385,7 +385,7 @@ (when *target* (if *target* (look-at-enemy! (-> *target* neck) - (the-as vector (-> (the-as collide-shape-prim-group (-> self root root-prim)) prims 0 prim-core)) + (-> (the-as collide-shape-prim-group (-> self root root-prim)) prims 0 prim-core world-sphere) 'attacking self)) (set-target! (-> self neck) (target-pos 5)))) @@ -439,7 +439,7 @@ (when *target* (if *target* (look-at-enemy! (-> *target* neck) - (the-as vector (-> (the-as collide-shape-prim-group (-> self root root-prim)) prims 0 prim-core)) + (-> (the-as collide-shape-prim-group (-> self root root-prim)) prims 0 prim-core world-sphere) 'attacking self)) (set-target! (-> self neck) (target-pos 5))) @@ -504,7 +504,7 @@ (when *target* (if *target* (look-at-enemy! (-> *target* neck) - (the-as vector (-> (the-as collide-shape-prim-group (-> self root root-prim)) prims 0 prim-core)) + (-> (the-as collide-shape-prim-group (-> self root root-prim)) prims 0 prim-core world-sphere) 'attacking self)) (set-target! (-> self neck) (target-pos 5)))) @@ -606,7 +606,7 @@ (set! (-> this draw shadow-ctrl) *bully-shadow-control*) (set! (-> this nav) (new 'process 'nav-control (-> this root) 16 40960.0)) (logior! (-> this nav flags) (nav-control-flags display-marks navcf3 navcf5 navcf6 navcf7)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 454) this)) + (set! (-> this part) (create-launch-control group-bully-explode this)) (set! (-> this fact) (new 'process 'fact-info-enemy this (pickup-type eco-pill-random) (-> *FACT-bank* default-pill-inc))) (let ((v1-49 (new 'process 'joint-mod (joint-mod-handler-mode reset) this 5))) (set! (-> this neck) v1-49) diff --git a/goal_src/jak1/levels/sunken/orbit-plat.gc b/goal_src/jak1/levels/sunken/orbit-plat.gc index be8f8c1e4b..f5647e6c88 100644 --- a/goal_src/jak1/levels/sunken/orbit-plat.gc +++ b/goal_src/jak1/levels/sunken/orbit-plat.gc @@ -193,8 +193,8 @@ (quaternion-copy! (-> self root quat) (-> arg1 root quat)) (set! (-> self root scale quad) (-> arg1 root scale quad)) (+! (-> self root trans y) -5324.8) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 440) self)) - (set! (-> self part2) (create-launch-control (-> *part-group-id-table* 107) self)) + (set! (-> self part) (create-launch-control group-orbit-plat-jet self)) + (set! (-> self part2) (create-launch-control group-standard-plat self)) (initialize-skeleton self *orbit-plat-bottom-sg* '()) (ja-channel-set! 1) (ja :group! orbit-plat-bottom-idle-ja :num! min) diff --git a/goal_src/jak1/levels/sunken/square-platform.gc b/goal_src/jak1/levels/sunken/square-platform.gc index b9e61edebb..5ffd81ed4b 100644 --- a/goal_src/jak1/levels/sunken/square-platform.gc +++ b/goal_src/jak1/levels/sunken/square-platform.gc @@ -332,9 +332,9 @@ (+! (-> this up-pos y) f0-10))) (set! (-> this basetrans quad) (-> this down-pos quad)) (set! (-> this root trans quad) (-> this basetrans quad)) - (set! (-> this part2) (create-launch-control (-> *part-group-id-table* 437) this)) - (set! (-> this part3) (create-launch-control (-> *part-group-id-table* 438) this)) - (set! (-> this part4) (create-launch-control (-> *part-group-id-table* 439) this)) + (set! (-> this part2) (create-launch-control group-square-platform-breach-splash this)) + (set! (-> this part3) (create-launch-control group-square-platform-submerge-bubbles this)) + (set! (-> this part4) (create-launch-control group-square-platform-submerge-splash this)) (set! (-> this water-entity) (entity-actor-lookup arg0 'alt-actor 0)) (ja-post) (update-transforms! (-> this root)) diff --git a/goal_src/jak1/levels/sunken/steam-cap.gc b/goal_src/jak1/levels/sunken/steam-cap.gc index 510d9d3f71..8951165bb0 100644 --- a/goal_src/jak1/levels/sunken/steam-cap.gc +++ b/goal_src/jak1/levels/sunken/steam-cap.gc @@ -515,8 +515,8 @@ (let ((v1-77 (new 'stack-no-clear 'vector)) (a0-35 (new 'stack-no-clear 'vector)) (s5-1 (new 'stack-no-clear 'vector))) - (vector-! v1-77 (the-as vector (&-> this stack 176)) (the-as vector (-> this control-pt))) - (vector-! a0-35 (the-as vector (&-> this stack 208)) (the-as vector (-> this control-pt))) + (vector-! v1-77 (the-as vector (&-> this stack 176)) (-> this control-pt 0 trans)) + (vector-! a0-35 (the-as vector (&-> this stack 208)) (-> this control-pt 0 trans)) (vector-cross! s5-1 v1-77 a0-35) (vector-normalize! s5-1 1.0) (forward-up-nopitch->quaternion (-> this root quat) (vector-z-quaternion! (new-stack-vector0) (-> this root quat)) s5-1)))) @@ -591,9 +591,9 @@ (set! (-> this down quad) (-> this root trans quad)) (set! (-> this up quad) (-> this root trans quad)) (+! (-> this up y) 40960.0) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 441) this)) - (set! (-> this part2) (create-launch-control (-> *part-group-id-table* 442) this)) - (set! (-> this part3) (create-launch-control (-> *part-group-id-table* 443) this)) + (set! (-> this part) (create-launch-control group-steam-cap-sides this)) + (set! (-> this part2) (create-launch-control group-steam-cap-plume this)) + (set! (-> this part3) (create-launch-control group-steam-cap-plume-spread this)) (vector-reset! (-> this root transv)) (let ((s5-1 (new 'stack-no-clear 'vector)) (f30-1 0.0)) diff --git a/goal_src/jak1/levels/sunken/sun-exit-chamber.gc b/goal_src/jak1/levels/sunken/sun-exit-chamber.gc index 9aeeb7fdbd..46ba52382d 100644 --- a/goal_src/jak1/levels/sunken/sun-exit-chamber.gc +++ b/goal_src/jak1/levels/sunken/sun-exit-chamber.gc @@ -773,7 +773,7 @@ (initialize-skeleton this *exit-chamber-sg* '()) (logior! (-> this skel status) (janim-status inited)) (logclear! (-> this mask) (process-mask actor-pause)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 620) this)) + (set! (-> this part) (create-launch-control group-exit-chamber-ripples this)) (ja-channel-set! 1) (let ((s4-1 (get-reminder (get-task-control (game-task sunken-room)) 0))) (let ((s2-0 #f) diff --git a/goal_src/jak1/levels/sunken/sunken-obs.gc b/goal_src/jak1/levels/sunken/sunken-obs.gc index 43889b0663..e98e592029 100644 --- a/goal_src/jak1/levels/sunken/sunken-obs.gc +++ b/goal_src/jak1/levels/sunken/sunken-obs.gc @@ -101,7 +101,7 @@ (none)) (defmethod baseplat-method-25 ((this side-to-side-plat)) - (let ((v0-0 (create-launch-control (-> *part-group-id-table* 436) this))) + (let ((v0-0 (create-launch-control group-side-to-side-plat this))) (set! (-> this part) v0-0) (the-as sparticle-launch-group v0-0))) diff --git a/goal_src/jak1/levels/sunken/sunken-pipegame.gc b/goal_src/jak1/levels/sunken/sunken-pipegame.gc index f507effc19..382023739b 100644 --- a/goal_src/jak1/levels/sunken/sunken-pipegame.gc +++ b/goal_src/jak1/levels/sunken/sunken-pipegame.gc @@ -762,8 +762,8 @@ (set! (-> s0-0 pipe-travel-time-to-far) (seconds 8.5)) (set! (-> s0-0 pipe-travel-time-to-jar) (seconds 2.5)) (set-vector! s4-0 -30720.0 1146.88 5120.0 1.0) - (set! (-> s0-0 sucked-up-part) (create-launch-control (-> *part-group-id-table* 448) this)) - (set! (-> s0-0 blown-out-part) (create-launch-control (-> *part-group-id-table* 451) this)) + (set! (-> s0-0 sucked-up-part) (create-launch-control group-pipegame-jar-suck0 this)) + (set! (-> s0-0 blown-out-part) (create-launch-control group-pipegame-blow0 this)) (+! (-> s0-0 jar-pos y) 11673.6) (+! (-> s0-0 far-pos y) 11673.6) (when (not s1-1) @@ -776,8 +776,8 @@ (set! (-> s0-0 pipe-travel-time-to-far) (seconds 5.5)) (set! (-> s0-0 pipe-travel-time-to-jar) (seconds 2.5)) (set-vector! s4-0 0.0 1146.88 5120.0 1.0) - (set! (-> s0-0 sucked-up-part) (create-launch-control (-> *part-group-id-table* 449) this)) - (set! (-> s0-0 blown-out-part) (create-launch-control (-> *part-group-id-table* 452) this)) + (set! (-> s0-0 sucked-up-part) (create-launch-control group-pipegame-jar-suck1 this)) + (set! (-> s0-0 blown-out-part) (create-launch-control group-pipegame-blow1 this)) (+! (-> s0-0 jar-pos y) 7168.0) (+! (-> s0-0 far-pos y) 7168.0) (+! (-> s0-0 blown-out-far-part-pos y) 4096.0) @@ -793,8 +793,8 @@ (set! (-> s0-0 pipe-travel-time-to-far) (seconds 4.5)) (set! (-> s0-0 pipe-travel-time-to-jar) (seconds 2.5)) (set-vector! s4-0 30720.0 1146.88 5120.0 1.0) - (set! (-> s0-0 sucked-up-part) (create-launch-control (-> *part-group-id-table* 450) this)) - (set! (-> s0-0 blown-out-part) (create-launch-control (-> *part-group-id-table* 453) this)) + (set! (-> s0-0 sucked-up-part) (create-launch-control group-pipegame-jar-suck2 this)) + (set! (-> s0-0 blown-out-part) (create-launch-control group-pipegame-blow2 this)) (+! (-> s0-0 jar-pos y) 7168.0) (+! (-> s0-0 far-pos y) 7168.0) (+! (-> s0-0 blown-out-far-part-pos y) 4096.0) diff --git a/goal_src/jak1/levels/sunken/whirlpool.gc b/goal_src/jak1/levels/sunken/whirlpool.gc index 72f1169cd6..69293e2dfe 100644 --- a/goal_src/jak1/levels/sunken/whirlpool.gc +++ b/goal_src/jak1/levels/sunken/whirlpool.gc @@ -342,7 +342,7 @@ (set! f28-0 (-> v1-17 1)))) (set! (-> this spin-speed-idle) f30-0) (set! (-> this spin-speed-delta) (- f28-0 f30-0))) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 447) this)) + (set! (-> this part) (create-launch-control group-whirlpool-swirl this)) (set! (-> this sound) (new 'process 'ambient-sound (static-sound-spec "whirlpool" :fo-max 55) (-> this root trans))) (ja-channel-set! 1) (let ((s5-1 (-> this skel root-channel 0))) diff --git a/goal_src/jak1/levels/swamp/kermit.gc b/goal_src/jak1/levels/swamp/kermit.gc index 3ac9c66ade..e0ad142fd5 100644 --- a/goal_src/jak1/levels/swamp/kermit.gc +++ b/goal_src/jak1/levels/swamp/kermit.gc @@ -481,7 +481,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 301) + group-kermit-pulse-impact -1 #f #f @@ -514,7 +514,7 @@ (vector-identity! (-> self root scale)) (vector-reset! (-> self root transv)) (set! (-> self sound-id) (new-sound-id)) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 300) self)) + (set! (-> self part) (create-launch-control group-kermit-pulse self)) (go kermit-pulse-idle) (none)) @@ -1061,8 +1061,8 @@ nav-enemy-default-event-handler (set! (-> this tongue-control forward-scale-max) 2.0) (set! (-> this tongue-control enable) #f) (set! (-> this charged-up) #t) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 299) this)) - (set! (-> this charging-part) (create-launch-control (-> *part-group-id-table* 298) this)) + (set! (-> this part) (create-launch-control group-kermit-charged-up this)) + (set! (-> this charging-part) (create-launch-control group-kermit-charging-up this)) (set! (-> this sound-id) (new-sound-id)) (go kermit-idle) (none)) diff --git a/goal_src/jak1/levels/swamp/swamp-obs.gc b/goal_src/jak1/levels/swamp/swamp-obs.gc index de81a8a4ef..cafcd0f276 100644 --- a/goal_src/jak1/levels/swamp/swamp-obs.gc +++ b/goal_src/jak1/levels/swamp/swamp-obs.gc @@ -185,7 +185,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 289) + group-swamp-spike-up -1 swamp-spike-set-particle-rotation-callback (-> self ppointer) @@ -207,7 +207,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 290) + group-swamp-spike-down -1 swamp-spike-set-particle-rotation-callback (-> self ppointer) @@ -236,7 +236,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 290) + group-swamp-spike-down -1 swamp-spike-set-particle-rotation-callback (-> self ppointer) @@ -498,7 +498,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 291) + group-swamp-rock-explosion -1 #f #f @@ -541,7 +541,7 @@ (vector-float*! (-> this root scale) *identity-vector* f30-0)) (initialize-skeleton this *swamp-rock-sg* '()) (nav-mesh-connect this (-> this root) (the-as nav-control #f)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 291) this)) + (set! (-> this part) (create-launch-control group-swamp-rock-explosion this)) (go swamp-rock-idle) (none)) @@ -566,7 +566,7 @@ (set! (-> self root trans quad) (-> arg0 quad)) (initialize-skeleton self *swamp-rock-sg* '()) (nav-mesh-connect self (-> self root) (the-as nav-control #f)) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 291) self)) + (set! (-> self part) (create-launch-control group-swamp-rock-explosion self)) (go swamp-rock-idle) (none)) diff --git a/goal_src/jak1/levels/swamp/swamp-rat-nest.gc b/goal_src/jak1/levels/swamp/swamp-rat-nest.gc index 3f678c8838..2c6fbc1441 100644 --- a/goal_src/jak1/levels/swamp/swamp-rat-nest.gc +++ b/goal_src/jak1/levels/swamp/swamp-rat-nest.gc @@ -940,8 +940,8 @@ swamp-rat-nest-default-event-handler (set! a0-1 (cdr a0-1)) (set! a1-0 (car a0-1)))) (set! (-> this spawn-joint-count) v1-0)) - (set! (-> this death-part) (-> *part-group-id-table* 292)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 295) this)) + (set! (-> this death-part) group-swamp-rat-nest-a-explosion) + (set! (-> this part) (create-launch-control group-swamp-rat-nest-a-puff this)) (let ((v0-1 6)) (set! (-> this particle-spawn-joint) v0-1) v0-1)) (defmethod swamp-rat-nest-dummy-method-21 ((this swamp-rat-nest-dummy-b)) @@ -955,8 +955,8 @@ swamp-rat-nest-default-event-handler (set! a0-1 (cdr a0-1)) (set! a1-0 (car a0-1)))) (set! (-> this spawn-joint-count) v1-0)) - (set! (-> this death-part) (-> *part-group-id-table* 293)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 296) this)) + (set! (-> this death-part) group-swamp-rat-nest-b-explosion) + (set! (-> this part) (create-launch-control group-swamp-rat-nest-b-puff this)) (let ((v0-1 9)) (set! (-> this particle-spawn-joint) v0-1) v0-1)) (defmethod swamp-rat-nest-dummy-method-21 ((this swamp-rat-nest-dummy-c)) @@ -970,6 +970,6 @@ swamp-rat-nest-default-event-handler (set! a0-1 (cdr a0-1)) (set! a1-0 (car a0-1)))) (set! (-> this spawn-joint-count) v1-0)) - (set! (-> this death-part) (-> *part-group-id-table* 294)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 297) this)) + (set! (-> this death-part) group-swamp-rat-nest-c-explosion) + (set! (-> this part) (create-launch-control group-swamp-rat-nest-c-puff this)) (let ((v0-1 5)) (set! (-> this particle-spawn-joint) v0-1) v0-1)) diff --git a/goal_src/jak1/levels/village1/assistant.gc b/goal_src/jak1/levels/village1/assistant.gc index 9c78fda27f..9113baf73f 100644 --- a/goal_src/jak1/levels/village1/assistant.gc +++ b/goal_src/jak1/levels/village1/assistant.gc @@ -263,7 +263,7 @@ (defmethod init-from-entity! ((this assistant) (arg0 entity-actor)) (process-taskable-method-40 this arg0 *assistant-sg* 3 31 (new 'static 'vector :w 4096.0) 5) (set! (-> this bounce-away) #f) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 122) this)) + (set! (-> this part) (create-launch-control group-assistant-torch this)) (set! (-> this tasks) (get-task-control (game-task jungle-eggtop))) (set! (-> this sound-id) (new-sound-id)) (set! (-> this draw light-index) (the-as uint 1)) diff --git a/goal_src/jak1/levels/village1/sequence-a-village1.gc b/goal_src/jak1/levels/village1/sequence-a-village1.gc index 929ab69561..188b16ec99 100644 --- a/goal_src/jak1/levels/village1/sequence-a-village1.gc +++ b/goal_src/jak1/levels/village1/sequence-a-village1.gc @@ -314,7 +314,7 @@ (set! (-> self tasks) (get-task-control (game-task intro))) (set! (-> self boat) (the-as handle #f)) (set! (-> self side) (the-as handle #f)) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 688) self)) + (set! (-> self part) (create-launch-control group-sequenceAV-2d-intro-mist self)) (set! (-> self part matrix) (sprite-allocate-user-hvdf)) (set! (-> self cur-trans-hook) sequenceA-village1-trans-hook) (logclear! (-> self mask) (process-mask pause actor-pause)) diff --git a/goal_src/jak1/levels/village1/village-obs.gc b/goal_src/jak1/levels/village1/village-obs.gc index faacbcac6e..1c7560c6b5 100644 --- a/goal_src/jak1/levels/village1/village-obs.gc +++ b/goal_src/jak1/levels/village1/village-obs.gc @@ -284,8 +284,8 @@ (quaternion-copy! (-> this orig-quat) (-> this root-override quat)) (vector-x-quaternion! (-> this blade-normal) (-> this root-override quat)) (vector-normalize! (-> this blade-normal) 1.0) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 123) this)) - (set! (-> this part2) (create-launch-control (-> *part-group-id-table* 124) this)) + (set! (-> this part) (create-launch-control group-win-wind-mill this)) + (set! (-> this part2) (create-launch-control group-win-wind-mill-hires this)) (set! (-> this sound) (new 'process 'ambient-sound arg0 (-> this root-override trans))) (go windmill-sail-idle) (none)) diff --git a/goal_src/jak1/levels/village2/assistant-village2.gc b/goal_src/jak1/levels/village2/assistant-village2.gc index 416532b477..a587043d97 100644 --- a/goal_src/jak1/levels/village2/assistant-village2.gc +++ b/goal_src/jak1/levels/village2/assistant-village2.gc @@ -507,7 +507,7 @@ (defmethod init-from-entity! ((this assistant-bluehut) (arg0 entity-actor)) (process-taskable-method-40 this arg0 *assistant-village2-sg* 3 31 (new 'static 'vector :w 4096.0) 5) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 288) this)) + (set! (-> this part) (create-launch-control group-assistant-bluehut-torch this)) (set! (-> this tasks) (get-task-control (game-task village2-levitator))) (set! (-> this jaws) (the-as handle #f)) (set! (-> this sage) (entity-actor-lookup arg0 'alt-actor 0)) @@ -1071,9 +1071,9 @@ (can-grab-display? self) (not (-> *setting-control* current hint))) (let ((gp-0 (new 'stack 'font-context *font-default-matrix* 32 160 0.0 (font-color default) (font-flags shadow kerning)))) - (let ((v1-28 gp-0)) (set! (-> v1-28 width) (the float 448))) - (let ((v1-29 gp-0)) (set! (-> v1-29 height) (the float 80))) - (let ((v1-30 gp-0)) (set! (-> v1-30 scale) 0.8)) + (set-width! gp-0 448) + (set-height! gp-0 80) + (set-scale! gp-0 0.8) (set! (-> gp-0 flags) (font-flags shadow kerning middle large)) (print-game-text (lookup-text! *common-text* (text-id village2-levitator-need-cells-text) #f) gp-0 #f 128 22))) (level-hint-spawn (text-id village2-levitator-need-cells) "asstvb71" (the-as entity #f) *entity-pool* (game-task none))))) @@ -1149,10 +1149,10 @@ (process-taskable-method-40 this arg0 *assistant-village2-sg* 3 31 (new 'static 'vector :w 4096.0) 5) (set! (-> this tasks) (get-task-control (game-task village2-levitator))) (set! (-> this boulder) (entity-actor-lookup arg0 'alt-actor 0)) - (set! (-> this particle 0) (create-launch-control (-> *part-group-id-table* 658) this)) - (set! (-> this particle 1) (create-launch-control (-> *part-group-id-table* 659) this)) - (set! (-> this particle 2) (create-launch-control (-> *part-group-id-table* 660) this)) - (set! (-> this particle 3) (create-launch-control (-> *part-group-id-table* 661) this)) + (set! (-> this particle 0) (create-launch-control group-levitator-blue-beam this)) + (set! (-> this particle 1) (create-launch-control group-levitator-blue-beam-impact this)) + (set! (-> this particle 2) (create-launch-control group-levitator-on-big this)) + (set! (-> this particle 3) (create-launch-control group-levitator-on-small this)) (set! (-> this sound) (new 'process 'ambient-sound (static-sound-spec "lev-mach-idle" :fo-max 30) (-> this root trans))) (if (= (get-task-status (game-task village2-levitator)) (task-status invalid)) (go just-particles) diff --git a/goal_src/jak1/levels/village2/swamp-blimp.gc b/goal_src/jak1/levels/village2/swamp-blimp.gc index e09ffad107..59db49e46f 100644 --- a/goal_src/jak1/levels/village2/swamp-blimp.gc +++ b/goal_src/jak1/levels/village2/swamp-blimp.gc @@ -535,7 +535,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 285) + group-tetherrock-explode -1 #f #f @@ -611,7 +611,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 287) + group-swamp-tether-rock-hit 150 #f #f @@ -847,9 +847,9 @@ 0.0 (cos (* (-> self rot-speed) (the float (- (current-time) (-> self state-time))))) 1.0) - (vector-cross! (the-as vector (-> gp-0 vector)) (-> gp-0 vector 1) s5-0)) - (vector-normalize! (the-as vector (-> gp-0 vector)) 1.0) - (vector-cross! (-> gp-0 vector 2) (the-as vector (-> gp-0 vector)) (-> gp-0 vector 1)) + (vector-cross! (-> gp-0 vector 0) (-> gp-0 vector 1) s5-0)) + (vector-normalize! (-> gp-0 vector 0) 1.0) + (vector-cross! (-> gp-0 vector 2) (-> gp-0 vector 0) (-> gp-0 vector 1)) (matrix->quaternion (-> self root quat) gp-0))) (defstate swamp-rope-break (swamp-rope) @@ -906,9 +906,9 @@ (set! (-> self old-scale) (-> self root scale y)) (set! (-> self root scale y) (* 0.0000020345053 (vector-normalize-ret-len! (-> gp-1 vector 1) 1.0))) (set-vector! s5-0 0.0 -1.0 0.0 1.0) - (vector-cross! (the-as vector (-> gp-1 vector)) (-> gp-1 vector 1) s5-0)) - (vector-normalize! (the-as vector (-> gp-1 vector)) 1.0) - (vector-cross! (-> gp-1 vector 2) (the-as vector (-> gp-1 vector)) (-> gp-1 vector 1)) + (vector-cross! (-> gp-1 vector 0) (-> gp-1 vector 1) s5-0)) + (vector-normalize! (-> gp-1 vector 0) 1.0) + (vector-cross! (-> gp-1 vector 2) (-> gp-1 vector 0) (-> gp-1 vector 1)) (matrix->quaternion (-> self root quat) gp-1)))) 0 (none)) @@ -1042,26 +1042,18 @@ (when s4-0 (cond ((= s5-0 (-> *SWAMP_BLIMP-bank* arm-index)) - (vector+! (the-as vector (-> self pos-oscillator)) - (the-as vector (-> self pos-oscillator)) - (-> (the-as swamp-rope s4-0) other-pos)) - (vector-! (the-as vector (-> self pos-oscillator)) (the-as vector (-> self pos-oscillator)) (-> self root trans))) + (vector+! (-> self pos-oscillator target) (-> self pos-oscillator target) (-> (the-as swamp-rope s4-0) other-pos)) + (vector-! (-> self pos-oscillator target) (-> self pos-oscillator target) (-> self root trans))) ((swamp-rope-method-20 (the-as swamp-rope s4-0)) - (vector+! (the-as vector (-> self pos-oscillator)) - (the-as vector (-> self pos-oscillator)) - (-> (the-as swamp-rope s4-0) other-pos)) - (vector-! (the-as vector (-> self pos-oscillator)) (the-as vector (-> self pos-oscillator)) (-> self trans-at-init)) + (vector+! (-> self pos-oscillator target) (-> self pos-oscillator target) (-> (the-as swamp-rope s4-0) other-pos)) + (vector-! (-> self pos-oscillator target) (-> self pos-oscillator target) (-> self trans-at-init)) (+! gp-0 1)) (else - (vector-! (the-as vector (-> self gondola-tilt-oscillator)) - (the-as vector (-> self gondola-tilt-oscillator)) + (vector-! (-> self gondola-tilt-oscillator target) + (-> self gondola-tilt-oscillator target) (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data (-> (the-as swamp-rope s4-0) parent-rp)))) - (vector+! (the-as vector (-> self gondola-tilt-oscillator)) - (the-as vector (-> self gondola-tilt-oscillator)) - (-> self root trans))))))) - (vector-float*! (the-as vector (-> self pos-oscillator)) - (the-as vector (-> self pos-oscillator)) - (/ 1.0 (the float (+ gp-0 1)))) + (vector+! (-> self gondola-tilt-oscillator target) (-> self gondola-tilt-oscillator target) (-> self root trans))))))) + (vector-float*! (-> self pos-oscillator target) (-> self pos-oscillator target) (/ 1.0 (the float (+ gp-0 1)))) (set! (-> self pos-oscillator target y) 0.0) (set! (-> self scale-oscillator target) -0.2) (+! (-> self y-offset-target) (-> *SWAMP_BLIMP-bank* rise-per-break)) @@ -1075,9 +1067,9 @@ (set! (-> self arm-timer) (-> *SWAMP_BLIMP-bank* pause-before-dropping-arm))) (else (set! (-> self gondola-tilt-oscillator target y) 0.0) - (vector-normalize! (the-as vector (-> self gondola-tilt-oscillator)) 1.0) + (vector-normalize! (-> self gondola-tilt-oscillator target) 1.0) (set! (-> self gondola-tilt-oscillator target y) (the float (+ gp-0 1))) - (vector-normalize! (the-as vector (-> self gondola-tilt-oscillator)) 1.0))) + (vector-normalize! (-> self gondola-tilt-oscillator target) 1.0))) gp-0))) (defstate swamp-blimp-idle (swamp-blimp) diff --git a/goal_src/jak1/levels/village2/village2-obs.gc b/goal_src/jak1/levels/village2/village2-obs.gc index f5755ec008..982c054ac2 100644 --- a/goal_src/jak1/levels/village2/village2-obs.gc +++ b/goal_src/jak1/levels/village2/village2-obs.gc @@ -436,7 +436,7 @@ (process-drawable-from-entity! this arg0) (initialize-skeleton this *allpontoons-sg* '()) (set! (-> this task) (the-as uint (-> arg0 extra perm task))) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 563) this)) + (set! (-> this part) (create-launch-control group-allpontoons-trail this)) (go allpontoons-idle) (none)) @@ -486,7 +486,7 @@ (ppointer->handle (when gp-1 (let ((t9-2 (method-of-type part-tracker activate))) (t9-2 (the-as part-tracker gp-1) *entity-pool* 'part-tracker (the-as pointer #x70004000))) - (run-now-in-process gp-1 part-tracker-init (-> *part-group-id-table* 678) -1 #f #f #f (-> self root trans)) + (run-now-in-process gp-1 part-tracker-init group-village2-fireboulder-hover -1 #f #f #f (-> self root trans)) (-> gp-1 ppointer))))) (set! (-> self tracker) (the-as handle v0-1))))) v0-1) @@ -567,7 +567,7 @@ (ppointer->handle (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 271) + group-village2-fireboulder -1 #f #f @@ -919,7 +919,7 @@ (set! (-> gp-0 quad) (-> self draw origin quad)) (+! (-> gp-0 y) 2048.0) (sound-play "boulder-splash") - (process-spawn part-tracker :init part-tracker-init (-> *part-group-id-table* 552) -1 #f #f #f gp-0 :to *entity-pool*)) + (process-spawn part-tracker :init part-tracker-init group-ogreboulder-splash -1 #f #f #f gp-0 :to *entity-pool*)) (send-event self 'trans-hook nothing)) 0 (none)) @@ -931,7 +931,7 @@ (set! (-> gp-0 quad) (-> self draw origin quad)) (+! (-> gp-0 y) 2048.0) (sound-play "boulder-splash") - (process-spawn part-tracker :init part-tracker-init (-> *part-group-id-table* 552) -1 #f #f #f gp-0 :to *entity-pool*)) + (process-spawn part-tracker :init part-tracker-init group-ogreboulder-splash -1 #f #f #f gp-0 :to *entity-pool*)) (send-event self 'trans-hook nothing)) 0 (none)) @@ -943,7 +943,7 @@ (set! (-> gp-0 quad) (-> self draw origin quad)) (+! (-> gp-0 y) 2048.0) (sound-play "v2ogre-boulder") - (process-spawn part-tracker :init part-tracker-init (-> *part-group-id-table* 551) -1 #f #f #f gp-0 :to *entity-pool*)) + (process-spawn part-tracker :init part-tracker-init group-ogreboulder-hit-wall -1 #f #f #f gp-0 :to *entity-pool*)) (send-event self 'trans-hook boulder2-trans-2)) 0 (none)) @@ -955,7 +955,7 @@ (set! (-> gp-0 quad) (-> self draw origin quad)) (+! (-> gp-0 y) 2048.0) (sound-play "boulder-splash") - (process-spawn part-tracker :init part-tracker-init (-> *part-group-id-table* 552) -1 #f #f #f gp-0 :to *entity-pool*)) + (process-spawn part-tracker :init part-tracker-init group-ogreboulder-splash -1 #f #f #f gp-0 :to *entity-pool*)) (send-event self 'trans-hook nothing)) 0 (none)) @@ -967,7 +967,7 @@ (set! (-> gp-0 quad) (-> self draw origin quad)) (+! (-> gp-0 y) 2048.0) (sound-play "v2ogre-boulder") - (process-spawn part-tracker :init part-tracker-init (-> *part-group-id-table* 551) -1 #f #f #f gp-0 :to *entity-pool*)) + (process-spawn part-tracker :init part-tracker-init group-ogreboulder-hit-wall -1 #f #f #f gp-0 :to *entity-pool*)) (send-event self 'trans-hook boulder3-trans-2)) 0 (none)) @@ -979,7 +979,7 @@ (set! (-> gp-0 quad) (-> self draw origin quad)) (+! (-> gp-0 y) 2048.0) (sound-play "boulder-splash") - (process-spawn part-tracker :init part-tracker-init (-> *part-group-id-table* 552) -1 #f #f #f gp-0 :to *entity-pool*)) + (process-spawn part-tracker :init part-tracker-init group-ogreboulder-splash -1 #f #f #f gp-0 :to *entity-pool*)) (send-event self 'trans-hook nothing)) 0 (none)) @@ -991,7 +991,7 @@ (set! (-> gp-0 quad) (-> self draw origin quad)) (+! (-> gp-0 y) 2048.0) (sound-play "v2ogre-boulder") - (process-spawn part-tracker :init part-tracker-init (-> *part-group-id-table* 551) -1 #f #f #f gp-0 :to *entity-pool*)) + (process-spawn part-tracker :init part-tracker-init group-ogreboulder-hit-wall -1 #f #f #f gp-0 :to *entity-pool*)) (send-event self 'trans-hook boulder4-trans-3)) 0 (none)) @@ -1003,7 +1003,7 @@ (set! (-> gp-0 quad) (-> self draw origin quad)) (+! (-> gp-0 y) 2048.0) (sound-play "v2ogre-boulder") - (process-spawn part-tracker :init part-tracker-init (-> *part-group-id-table* 551) -1 #f #f #f gp-0 :to *entity-pool*)) + (process-spawn part-tracker :init part-tracker-init group-ogreboulder-hit-wall -1 #f #f #f gp-0 :to *entity-pool*)) (send-event self 'trans-hook boulder4-trans-2)) 0 (none)) @@ -1022,7 +1022,7 @@ (send-event (handle->process (-> self boulder)) 'eval (lambda :behavior ogreboss-village2 () - (let ((v0-0 (create-launch-control (-> *part-group-id-table* 564) self))) (set! (-> self part) v0-0) v0-0))) + (let ((v0-0 (create-launch-control group-ogreboulder-trail self))) (set! (-> self part) v0-0) v0-0))) (ja-channel-push! 1 (seconds 0.2)) (ja-no-eval :group! ogreboss-village2-pre-throw-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) diff --git a/goal_src/jak1/levels/village3/miners.gc b/goal_src/jak1/levels/village3/miners.gc index 366e2b21b2..09f16fa3db 100644 --- a/goal_src/jak1/levels/village3/miners.gc +++ b/goal_src/jak1/levels/village3/miners.gc @@ -371,7 +371,7 @@ (defmethod init-from-entity! ((this minershort) (arg0 entity-actor)) (process-taskable-method-40 this arg0 *minershort-sg* 34 46 (new 'static 'vector :w 4096.0) 5) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 566) this)) + (set! (-> this part) (create-launch-control group-minershort-candle this)) (set! (-> this tasks) (get-task-control (game-task village3-miner-money1))) (set! (-> this other-miner) (the-as minertall (entity-actor-lookup arg0 'alt-actor 0))) (set! (-> this cur-trans-hook) minershort-trans-hook) diff --git a/goal_src/jak1/levels/village_common/oracle.gc b/goal_src/jak1/levels/village_common/oracle.gc index 0836786c87..42ebfa5c47 100644 --- a/goal_src/jak1/levels/village_common/oracle.gc +++ b/goal_src/jak1/levels/village_common/oracle.gc @@ -11,6 +11,7 @@ (left-eye-cell handle) (right-eye-cell handle))) + (defskelgroup *oracle-sg* oracle oracle-lod0-jg @@ -192,7 +193,7 @@ (send-event (handle->process (-> this right-eye-cell)) 'eval (lambda :behavior oracle () - (let ((v0-0 (create-launch-control (-> *part-group-id-table* 63) self))) + (let ((v0-0 (create-launch-control group-fuel-cell-starburst self))) (set! (-> self part) v0-0) (the-as sparticle-launch-group v0-0)))) (send-event (handle->process (-> this right-eye-cell)) 'trans-hook s5-1)) @@ -203,7 +204,7 @@ (send-event (handle->process (-> this left-eye-cell)) 'eval (lambda :behavior oracle () - (let ((v0-0 (create-launch-control (-> *part-group-id-table* 63) self))) + (let ((v0-0 (create-launch-control group-fuel-cell-starburst self))) (set! (-> self part) v0-0) (the-as sparticle-launch-group v0-0)))) (send-event (handle->process (-> this left-eye-cell)) 'trans-hook s5-1))) diff --git a/goal_src/jak2/engine/ai/enemy.gc b/goal_src/jak2/engine/ai/enemy.gc index 7b82342313..e144339af2 100644 --- a/goal_src/jak2/engine/ai/enemy.gc +++ b/goal_src/jak2/engine/ai/enemy.gc @@ -24,11 +24,11 @@ ) ) -(defmethod relocate ((this enemy) (arg0 int)) +(defmethod relocate ((this enemy) (offset int)) (if (nonzero? (-> this neck)) - (&+! (-> this neck) arg0) + (&+! (-> this neck) offset) ) - (call-parent-method this arg0) + (call-parent-method this offset) ) (defmethod rnd-float ((this enemy)) @@ -38,28 +38,28 @@ (defmethod rnd-float-range ((this enemy) (low float) (high float)) "@param low The lower bound of the range (inclusive) -@param high The upper bound of the range (exclusive) -@returns A random float in the specified range" + @param high The upper bound of the range (exclusive) + @returns A random float in the specified range" (+ low (* (rand-vu) (- high low))) ) (defmethod rnd-int-count ((this enemy) (high int)) "@param high The upper bound of the range (exclusive) -@returns a random integer in the range 0 to `high` -@see [[rand-vu]]" + @returns a random integer in the range 0 to `high` + @see [[rand-vu]]" (the int (* (rand-vu) (the float high))) ) (defmethod rnd-int-range ((this enemy) (low int) (high int)) "@param low The lower bound of the range (inclusive) -@param high The upper bound of the range (exclusive) -@returns A random integer in the specified range" + @param high The upper bound of the range (exclusive) + @returns A random integer in the specified range" (+ low (the int (* (rand-vu) (the float (+ (- 1 low) high))))) ) (defmethod rnd-percent? ((this enemy) (chance float)) "@param chance The value to compare ([[>=]]) with the result from [[rand-vu]]. -@returns If `chance` is greater than the random draw" + @returns If `chance` is greater than the random draw" (>= chance (rand-vu)) ) @@ -120,6 +120,7 @@ ;; WARN: disable def twice: 40. This may happen when a cond (no else) is nested inside of another conditional, but it should be rare. (defmethod run-logic? ((this enemy)) + "Should this process be run? Checked by execute-process-tree." (cond ((logtest? (-> this mask) (process-mask actor-pause)) (let ((draw (-> this draw))) @@ -190,7 +191,7 @@ (defmethod get-penetrate-info ((this enemy)) "@returns the allowed way(s) this enemy can take damage -@see [[penetrate]] and [[penetrated-by-all&hit-points->penetrated-by]]" + @see [[penetrate]] and [[penetrated-by-all&hit-points->penetrated-by]]" (penetrated-by-all&hit-points->penetrated-by (-> this penetrated-by-all) (-> this hit-points)) ) @@ -211,41 +212,7 @@ (let ((s2-0 (new 'stack-no-clear 'vector))) (set! (-> s2-0 quad) (-> this 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 - (let ((t9-2 (method-of-type part-tracker activate))) - (t9-2 - (the-as part-tracker s1-0) - *entity-pool* - (symbol->string (-> part-tracker symbol)) - (the-as pointer #x70004000) - ) - ) - (let ((t9-3 run-function-in-process) - (a0-8 s1-0) - (a1-3 part-tracker-init) - (a2-5 (-> *part-group-id-table* 121)) - (a3-1 0) - (t0-0 #f) - (t1-0 #f) - (t2-0 #f) - (t3-0 *launch-matrix*) - ) - (set! (-> t3-0 trans quad) (-> s2-0 quad)) - ((the-as (function object object object object object object object object none) t9-3) - a0-8 - a1-3 - a2-5 - a3-1 - t0-0 - t1-0 - t2-0 - t3-0 - ) - ) - (-> s1-0 ppointer) - ) - ) + (part-tracker-spawn :to *entity-pool* :group group-part-water-splash :mat-joint s2-0) ) (cond ((logtest? s3-0 (water-flags dark-eco)) @@ -286,9 +253,9 @@ (defmethod common-post ((self enemy)) "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" + - tracks when the enemy was last drawn + - looks at the target and handles attacking + @TODO Not extremely well understood yet" (if (and (nonzero? (-> self draw)) (logtest? (-> self draw status) (draw-control-status on-screen))) (set-time! (-> self last-draw-time)) ) @@ -361,19 +328,9 @@ (return (the-as penetrate (-> v1-0 penetrate-using))) ) ) - (let* ((gp-0 arg0) - (v1-3 (if (type? gp-0 process-drawable) - gp-0 - ) - ) - ) + (let ((v1-3 (as-type arg0 process-drawable))) (when v1-3 - (let* ((gp-1 (-> v1-3 root)) - (v1-4 (if (type? gp-1 collide-shape) - (the-as collide-shape gp-1) - ) - ) - ) + (let ((v1-4 (as-type (-> v1-3 root) collide-shape))) (if v1-4 (return (the-as penetrate (logior (-> v1-4 penetrate-using) (penetrate generic-attack)))) ) @@ -408,12 +365,7 @@ (defmethod enemy-method-62 ((this enemy)) (when (not (logtest? (enemy-flag lock-focus) (-> this enemy-flags))) - (let* ((s4-0 (handle->process (-> this incoming attacker-handle))) - (s5-0 (if (type? s4-0 process-focusable) - s4-0 - ) - ) - ) + (let ((s5-0 (the-as process (as-type (handle->process (-> this incoming attacker-handle)) process-focusable)))) (when (enemy-method-53 this (the-as process-focusable s5-0)) (enemy-method-63 this (the-as process-focusable s5-0) (the-as enemy-aware #f)) (logior! (-> this focus flags) (enemy-flag look-at-focus)) @@ -627,11 +579,7 @@ (set! (-> this root penetrated-by) (the-as penetrate -1)) (enemy-method-49 this) ) - (let ((s5-0 (if (type? arg0 process-focusable) - arg0 - ) - ) - ) + (let ((s5-0 (the-as process (as-type arg0 process-focusable)))) (when (enemy-method-53 this (the-as process-focusable s5-0)) (let ((v1-10 (handle->process (-> this focus handle)))) (when (or (= s5-0 v1-10) (and (not (logtest? (enemy-flag lock-focus) (-> this enemy-flags))) @@ -746,7 +694,7 @@ (defmethod look-at-target! ((this enemy) (arg0 enemy-flag)) "Logic for looking at the target that is locked on, sets some flags and adjusts the neck to look at the target if available -@param flag Reacts to [[enemy-flag::death-start]] and [[enemy-flag::enable-on-active]], see implementation for details" + @param flag Reacts to [[enemy-flag::death-start]] and [[enemy-flag::enable-on-active]], see implementation for details" (case arg0 (((enemy-flag look-at-focus)) (logclear! (-> this enemy-flags) (enemy-flag look-at-move-dest)) @@ -785,7 +733,7 @@ (defmethod enemy-above-ground? ((this 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?]]" + @see [[above-ground?]]" (above-ground? (-> this root) arg0 arg1 arg2 arg3 arg4 arg5) ) @@ -985,7 +933,7 @@ (defmethod set-enemy-info! ((this enemy) (arg0 enemy-info)) "In addition to setting the `enemy-info`, also init the `neck-joint` if applicable from it -@param info Set `enemy-info` accordingly" + @param info Set `enemy-info` accordingly" (set! (-> this enemy-info) arg0) (when (and (!= (-> this enemy-info neck-joint) -1) (zero? (-> this neck))) (set! (-> this neck) @@ -1210,11 +1158,11 @@ ;; WARN: Return type mismatch object vs none. (defmethod init-from-entity! ((this enemy) (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" + This commonly includes things such as: + - stack size + - collision information + - loading the skeleton group / bones + - sounds" (init-enemy-collision! this) (process-drawable-from-entity! this arg0) (init-enemy! this) @@ -1269,10 +1217,10 @@ This commonly includes things such as: (defmethod in-aggro-range? ((this enemy) (arg0 process-focusable) (arg1 vector)) "Should the enemy activate. -- if `activate-distance` is `0.0`, always true -- otherwise, check if the provided process is close enough -@param proc The process used to distance check -@returns true/false" + - if `activate-distance` is `0.0`, always true + - otherwise, check if the provided process is close enough + @param proc The process used to distance check + @returns true/false" #t ) @@ -1281,6 +1229,7 @@ This commonly includes things such as: ) (defmethod reset-to-collide-spec ((this enemy-focus) (arg0 collide-spec)) + "Reset this focus with the given [[collide-spec]]." (let ((t9-0 (method-of-type focus reset-to-collide-spec))) (t9-0 this arg0) ) @@ -1350,12 +1299,7 @@ This commonly includes things such as: (while (!= v1-4 (-> *collide-player-list* alive-list-end)) (let ((v1-5 (the-as collide-shape (-> (the-as connection v1-4) param1)))) (when (logtest? s4-0 (-> v1-5 root-prim prim-core collide-as)) - (let* ((s2-0 (-> v1-5 process)) - (a1-1 (if (type? s2-0 process-focusable) - (the-as process-focusable s2-0) - ) - ) - ) + (let ((a1-1 (as-type (-> v1-5 process) process-focusable))) (if (and a1-1 (and a1-1 (not (logtest? (-> a1-1 focus-status) (focus-status disable dead)))) (!= this a1-1)) (update-target-awareness! this a1-1 gp-0) ) @@ -1377,12 +1321,7 @@ This commonly includes things such as: (while (!= v1-19 (-> *collide-hit-by-player-list* alive-list-end)) (let ((v1-20 (the-as collide-shape (-> (the-as connection v1-19) param1)))) (when (logtest? s4-0 (-> v1-20 root-prim prim-core collide-as)) - (let* ((s2-1 (-> v1-20 process)) - (a1-3 (if (type? s2-1 process-focusable) - (the-as process-focusable s2-1) - ) - ) - ) + (let ((a1-3 (as-type (-> v1-20 process) process-focusable))) (if (and a1-3 (and a1-3 (not (logtest? (-> a1-3 focus-status) (focus-status disable dead)))) (!= this a1-3)) (update-target-awareness! this a1-3 gp-0) ) @@ -1403,12 +1342,7 @@ This commonly includes things such as: (while (!= v1-32 (-> *collide-hit-by-others-list* alive-list-end)) (let ((v1-33 (the-as collide-shape (-> (the-as connection v1-32) param1)))) (when (logtest? s4-0 (-> v1-33 root-prim prim-core collide-as)) - (let* ((s2-2 (-> v1-33 process)) - (a1-5 (if (type? s2-2 process-focusable) - (the-as process-focusable s2-2) - ) - ) - ) + (let ((a1-5 (as-type (-> v1-33 process) process-focusable))) (if (and a1-5 (and a1-5 (not (logtest? (-> a1-5 focus-status) (focus-status disable dead)))) (!= this a1-5)) (update-target-awareness! this a1-5 gp-0) ) @@ -1439,8 +1373,8 @@ This commonly includes things such as: ;; WARN: Return type mismatch int vs enemy-aware. (defmethod update-target-awareness! ((this enemy) (arg0 process-focusable) (arg1 enemy-best-focus)) "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`" + @TODO - flesh out docs + @returns the value that sets `aware`" (let ((f30-0 (vector-vector-distance (get-trans arg0 0) (-> this root trans))) (s3-1 #f) (s2-0 #f) @@ -1580,7 +1514,7 @@ This commonly includes things such as: (defmethod general-event-handler ((this enemy) (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" + @TODO - unsure if there is a pattern for the events and this should have a more specific name" (local-vars (s5-5 rgbaf) (sv-432 process) (sv-448 event-message-block)) (cond ((= arg2 'track) @@ -1597,20 +1531,11 @@ This commonly includes things such as: ) ((= arg2 'touched) (when (logtest? (-> this enemy-flags) (enemy-flag auto-reset-penetrate)) - (let* ((s3-1 arg0) - (v1-20 (if (type? s3-1 process-drawable) - (the-as process-drawable s3-1) - ) - ) - ) + (let ((v1-20 (as-type arg0 process-drawable))) (when v1-20 - (let* ((s3-2 (-> v1-20 root)) - (a1-4 (if (type? s3-2 collide-shape) - s3-2 - ) - ) - (s3-3 (-> arg3 param 0)) - ) + (let ((a1-4 (the-as trsqv (as-type (-> v1-20 root) collide-shape))) + (s3-3 (-> arg3 param 0)) + ) (if (and a1-4 s3-3 ((method-of-type touching-shapes-entry prims-touching-action?) @@ -1998,13 +1923,9 @@ This commonly includes things such as: ) (defmethod enemy-method-75 ((this enemy) (arg0 process) (arg1 event-message-block)) - (let* ((touch-entry (the-as touching-shapes-entry (-> arg1 param 0))) - (s2-0 arg0) - (s3-0 (if (type? s2-0 process-focusable) - (the-as process-focusable s2-0) - ) - ) - ) + (let ((touch-entry (the-as touching-shapes-entry (-> arg1 param 0))) + (s3-0 (as-type arg0 process-focusable)) + ) (when (and (the-as uint touch-entry) s3-0) (cond ((and (focus-test? this dangerous) diff --git a/goal_src/jak2/engine/common_objs/collectables.gc b/goal_src/jak2/engine/common_objs/collectables.gc index 0799e6629c..8f28a43875 100644 --- a/goal_src/jak2/engine/common_objs/collectables.gc +++ b/goal_src/jak2/engine/common_objs/collectables.gc @@ -177,12 +177,7 @@ (set! (-> this root root-prim local-sphere w) (* 2.5 (-> this root root-prim local-sphere w))) ) (when (and arg2 (nonzero? (-> this draw))) - (let* ((s5-0 (-> arg2 process)) - (v1-56 (if (type? s5-0 process-drawable) - s5-0 - ) - ) - ) + (let ((v1-56 (the-as process (as-type (-> arg2 process) process-drawable)))) (if v1-56 (set! (-> this draw light-index) (-> (the-as process-drawable v1-56) draw light-index)) ) @@ -241,27 +236,27 @@ ) (case arg0 (((pickup-type eco-yellow)) - (set! s5-0 (-> *part-group-id-table* 108)) - (set! (-> this collect-effect) (-> *part-group-id-table* 115)) - (set! (-> this collect-effect2) (-> *part-group-id-table* 109)) + (set! s5-0 group-eco-yellow) + (set! (-> this collect-effect) group-yellow-collect) + (set! (-> this collect-effect2) group-eco-yellow-collect) (set! s4-0 (static-sound-spec "yel-eco-idle" :fo-max 15)) ) (((pickup-type eco-red)) - (set! s5-0 (-> *part-group-id-table* 102)) - (set! (-> this collect-effect) (-> *part-group-id-table* 116)) - (set! (-> this collect-effect2) (-> *part-group-id-table* 103)) + (set! s5-0 group-eco-red) + (set! (-> this collect-effect) group-red-collect) + (set! (-> this collect-effect2) group-eco-red-collect) (set! s4-0 (static-sound-spec "red-eco-idle" :fo-max 15)) ) (((pickup-type eco-blue)) - (set! s5-0 (-> *part-group-id-table* 98)) - (set! (-> this collect-effect) (-> *part-group-id-table* 114)) - (set! (-> this collect-effect2) (-> *part-group-id-table* 99)) + (set! s5-0 group-eco-blue) + (set! (-> this collect-effect) group-blue-collect) + (set! (-> this collect-effect2) group-eco-blue-collect) (set! s4-0 (static-sound-spec "blue-eco-idle" :fo-max 15)) ) (((pickup-type eco-green)) - (set! s5-0 (-> *part-group-id-table* 83)) - (set! (-> this collect-effect) (-> *part-group-id-table* 93)) - (set! (-> this collect-effect2) (-> *part-group-id-table* 79)) + (set! s5-0 group-eco-green) + (set! (-> this collect-effect) group-green-collect) + (set! (-> this collect-effect2) group-eco-green-collect) (set! s4-0 (static-sound-spec "green-eco-idle" :fo-max 15)) ) (((pickup-type health)) @@ -274,17 +269,17 @@ (set! (-> v1-37 y) 2457.6) (set! (-> v1-37 w) 4096.0) ) - (set! (-> this collect-effect) (-> *part-group-id-table* 93)) - (set! (-> this collect-effect2) (-> *part-group-id-table* 79)) + (set! (-> this collect-effect) group-green-collect) + (set! (-> this collect-effect2) group-eco-green-collect) (set! s4-0 (static-sound-spec "green-eco-idle" :fo-max 15)) ) (((pickup-type eco-pill-green)) - (set! s5-0 (-> *part-group-id-table* 80)) - (set! (-> this collect-effect2) (-> *part-group-id-table* 81)) + (set! s5-0 group-eco-green-pill) + (set! (-> this collect-effect2) group-eco-green-pill-collect) ) (((pickup-type eco-pill-dark)) - (set! s5-0 (-> *part-group-id-table* 82)) - (set! (-> this collect-effect) (-> *part-group-id-table* 92)) + (set! s5-0 group-eco-dark-pill) + (set! (-> this collect-effect) group-eco-dark-pill-collect) ) ) (if s5-0 @@ -365,7 +360,7 @@ (ja-post) ) (if (nonzero? s5-0) - (spawn s5-0 (the-as vector s4-0)) + (spawn s5-0 (-> s4-0 world-sphere)) ) ) (if (nonzero? (-> this sound)) @@ -436,96 +431,45 @@ ) ) (let ((s4-9 (handle->process arg0))) - (when (nonzero? (-> this collect-effect)) - (let ((s5-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-1 - (let ((t9-21 (method-of-type part-tracker activate))) - (t9-21 (the-as part-tracker s5-1) s4-9 (symbol->string (-> part-tracker symbol)) (the-as pointer #x70004000)) - ) - (let ((t9-22 run-function-in-process) - (a0-60 s5-1) - (a1-26 part-tracker-init) - (a2-11 (-> this collect-effect)) - (a3-10 0) - (t0-8 part-tracker-track-target) - (t1-8 #f) - (t2-8 #f) - (t3-0 *launch-matrix*) - ) - (set! (-> t3-0 trans quad) (-> this 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 - a2-11 - a3-10 - t0-8 - t1-8 - t2-8 - t3-0 - ) - ) - (-> s5-1 ppointer) + (if (nonzero? (-> this collect-effect)) + (part-tracker-spawn + :to s4-9 + :group (-> this collect-effect) + :callback part-tracker-track-target + :mat-joint (-> this root root-prim prim-core world-sphere) ) ) - ) ) - (when (nonzero? (-> this collect-effect2)) - (let ((s5-2 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-2 - (let ((t9-24 (method-of-type part-tracker activate))) - (t9-24 (the-as part-tracker s5-2) this (symbol->string (-> part-tracker symbol)) (the-as pointer #x70004000)) - ) - (let ((t9-25 run-function-in-process) - (a0-63 s5-2) - (a1-29 part-tracker-init) - (a2-16 (-> this collect-effect2)) - (a3-12 0) - (t0-9 - (lambda ((arg0 part-tracker)) - (let ((v1-1 (handle->process (-> arg0 userdata)))) - (when (the-as process v1-1) - (let* ((s5-0 (handle->process (-> (the-as collectable v1-1) pickup-handle))) - (a0-9 (if (type? s5-0 process-focusable) - s5-0 - ) - ) - (a2-0 (if (not a0-9) - (-> arg0 root trans) - (get-trans (the-as process-focusable a0-9) 3) - ) - ) - ) - (vector-lerp! - (-> arg0 root trans) - (-> arg0 offset) - a2-0 - (/ (the float (- (current-time) (-> arg0 start-time))) (the float (-> arg0 part group duration))) - ) - ) - ) - ) + (if (nonzero? (-> this collect-effect2)) + (part-tracker-spawn + :to this + :group (-> this collect-effect2) + :callback (lambda ((arg0 part-tracker)) + (let ((v1-1 (handle->process (-> arg0 userdata)))) + (when (the-as process v1-1) + (let* ((a0-9 + (the-as process (as-type (handle->process (-> (the-as collectable v1-1) pickup-handle)) process-focusable)) + ) + (a2-0 (if (not a0-9) + (-> arg0 root trans) + (get-trans (the-as process-focusable a0-9) 3) + ) + ) + ) + (vector-lerp! + (-> arg0 root trans) + (-> arg0 offset) + a2-0 + (/ (the float (- (current-time) (-> arg0 start-time))) (the float (-> arg0 part group duration))) ) ) - (t1-13 (process->handle this)) - (t2-9 #f) - (t3-1 *launch-matrix*) ) - (set! (-> t3-1 trans quad) (-> this 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 - a2-16 - a3-12 - t0-9 - t1-13 - t2-9 - t3-1 - ) + ) ) - (-> s5-2 ppointer) + :userdata (process->handle this) + :mat-joint (-> this root root-prim prim-core world-sphere) ) ) - ) (send-event (handle->process (-> this notify)) 'notify 'pickup) 0 (none) @@ -543,23 +487,14 @@ ) (defbehavior check-blue-suck eco ((arg0 process-drawable)) - (let ((v1-0 (if (type? arg0 process-drawable) - arg0 - ) - ) - ) + (let ((v1-0 (as-type arg0 process-drawable))) (when v1-0 - (let* ((gp-1 (-> v1-0 root)) - (v1-1 (if (type? gp-1 collide-shape) - gp-1 - ) - ) - ) + (let ((v1-1 (the-as trsqv (as-type (-> v1-0 root) collide-shape)))) (when v1-1 (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)) + (when (< (vector-vector-distance (-> a0-5 world-sphere) (-> a1-2 world-sphere)) (-> *FACT-bank* suck-suck-dist)) (logior! (-> self flags) (collectable-flag suck-in)) #t ) @@ -571,26 +506,17 @@ ) (defbehavior add-blue-motion eco ((arg0 symbol) (arg1 symbol) (arg2 symbol) (arg3 symbol)) - (let* ((gp-0 (handle->process (-> self target))) - (s2-0 (if (type? gp-0 process-drawable) - gp-0 - ) - ) - ) + (let ((s2-0 (the-as process (as-type (handle->process (-> self target)) process-drawable)))) (when s2-0 - (let ((a0-6 (if (type? s2-0 process-focusable) - (the-as process-focusable s2-0) - ) - ) - ) + (let ((a0-6 (as-type s2-0 process-focusable))) (when a0-6 (let ((s2-1 (-> self root root-prim prim-core)) (gp-1 (get-trans a0-6 3)) ) (if (and arg1 (rand-vu-percent? 0.25)) - (eco-blue-glow (the-as vector s2-1)) + (eco-blue-glow (-> s2-1 world-sphere)) ) - (let ((f0-0 (vector-vector-distance (the-as vector s2-1) gp-1))) + (let ((f0-0 (vector-vector-distance (-> s2-1 world-sphere) gp-1))) (cond ((and arg3 (< f0-0 8192.0)) (return #t) @@ -640,7 +566,7 @@ (go-virtual wait) ) (arg1 - (add-blue-shake (-> self root trans) (the-as vector s2-1) gp-1) + (add-blue-shake (-> self root trans) (-> s2-1 world-sphere) gp-1) ) ) ) @@ -1647,7 +1573,7 @@ (a1-3 (-> this draw skeleton bones 3)) ) (if (nonzero? a0-7) - (spawn-with-matrix a0-7 (the-as matrix a1-3)) + (spawn-with-matrix a0-7 (-> a1-3 transform)) ) ) 0 @@ -1832,8 +1758,8 @@ ) (set-vector! (-> this draw color-mult) 0.8 0.8 0.8 1.0) (set-vector! (-> this draw color-emissive) 0.2 0.2 0.2 1.0) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 86) this)) - (set! (-> this collect-effect) (-> *part-group-id-table* 87)) + (set! (-> this part) (create-launch-control group-gem-glow this)) + (set! (-> this collect-effect) group-gem-collect) 0 (none) ) @@ -1976,8 +1902,8 @@ (set! (-> this notify) (the-as handle #f)) (set! (-> this root pause-adjust-distance) 204800.0) (set! (-> this fact) (new 'process 'fact-info this (pickup-type trick-point) 100.0)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 94) this)) - (set! (-> this collect-effect) (-> *part-group-id-table* 95)) + (set! (-> this part) (create-launch-control group-skate-point this)) + (set! (-> this collect-effect) group-skate-point-explode) 0 (none) ) @@ -2032,16 +1958,16 @@ (set! (-> this fact) (new 'process 'fact-info this (-> this pickup-type) (-> this pickup-amount))) (case (-> this pickup-type) (((pickup-type ammo-yellow)) - (set! (-> this collect-effect) (-> *part-group-id-table* 88)) + (set! (-> this collect-effect) group-ammo-yellow-collect) ) (((pickup-type ammo-red)) - (set! (-> this collect-effect) (-> *part-group-id-table* 89)) + (set! (-> this collect-effect) group-ammo-red-collect) ) (((pickup-type ammo-blue)) - (set! (-> this collect-effect) (-> *part-group-id-table* 90)) + (set! (-> this collect-effect) group-ammo-blue-collect) ) (((pickup-type ammo-dark)) - (set! (-> this collect-effect) (-> *part-group-id-table* 91)) + (set! (-> this collect-effect) group-ammo-dark-collect) ) ) 0 @@ -2059,7 +1985,7 @@ (the-as pair 0) ) (set-vector! (-> this root scale) 2.5 2.5 2.5 1.0) - (set! (-> this ammo-effect) (-> *part-group-id-table* 108)) + (set! (-> this ammo-effect) group-eco-yellow) ) (((pickup-type ammo-red)) (initialize-skeleton @@ -2068,7 +1994,7 @@ (the-as pair 0) ) (set-vector! (-> this root scale) 4.0 4.0 4.0 1.0) - (set! (-> this ammo-effect) (-> *part-group-id-table* 102)) + (set! (-> this ammo-effect) group-eco-red) ) (((pickup-type ammo-blue)) (initialize-skeleton @@ -2077,7 +2003,7 @@ (the-as pair 0) ) (set-vector! (-> this root scale) 4.0 4.0 4.0 1.0) - (set! (-> this ammo-effect) (-> *part-group-id-table* 98)) + (set! (-> this ammo-effect) group-eco-blue) ) (((pickup-type ammo-dark)) (initialize-skeleton @@ -2086,7 +2012,7 @@ (the-as pair 0) ) (set-vector! (-> this root scale) 3.0 3.0 3.0 1.0) - (set! (-> this ammo-effect) (-> *part-group-id-table* 83)) + (set! (-> this ammo-effect) group-eco-green) ) (((pickup-type gun-yellow)) (initialize-skeleton @@ -2133,7 +2059,7 @@ (logclear! (-> this flags) (collectable-flag fadeout)) ) (((pickup-type shield)) - (set! (-> this ammo-effect) (-> *part-group-id-table* 80)) + (set! (-> this ammo-effect) group-eco-green-pill) ) (((pickup-type trick-point)) ) diff --git a/goal_src/jak2/engine/common_objs/crates.gc b/goal_src/jak2/engine/common_objs/crates.gc index 37ca75ca2f..1b6a57aadd 100644 --- a/goal_src/jak2/engine/common_objs/crates.gc +++ b/goal_src/jak2/engine/common_objs/crates.gc @@ -751,23 +751,13 @@ :code (behavior ((arg0 handle)) (set! (-> self target) arg0) (until #f - (let* ((gp-0 (handle->process (-> self target))) - (v1-3 (if (type? gp-0 process-drawable) - gp-0 - ) - ) - ) + (let ((v1-3 (the-as process (as-type (handle->process (-> self target)) process-drawable)))) (when v1-3 - (let* ((gp-1 (-> (the-as process-drawable v1-3) root)) - (v1-4 (if (type? (the-as collide-shape-moving gp-1) collide-shape) - gp-1 - ) - ) - ) + (let ((v1-4 (the-as trsqv (as-type (-> (the-as process-drawable v1-3) root) collide-shape)))) (when v1-4 (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))) + (f30-0 (vector-vector-distance (-> gp-2 world-sphere) (-> a1-3 world-sphere))) ) (when (and (< f30-0 (-> *FACT-bank* suck-suck-dist)) (!= (-> self defense) 'steel)) (logior! (-> self fact options) (actor-option suck-in)) @@ -875,100 +865,13 @@ ) (case (-> self look) (('darkeco) - (let ((s5-8 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-8 - (let ((t9-17 (method-of-type part-tracker activate))) - (t9-17 (the-as part-tracker s5-8) self (symbol->string (-> part-tracker symbol)) (the-as pointer #x70004000)) - ) - (let ((t9-18 run-function-in-process) - (a0-34 s5-8) - (a1-21 part-tracker-init) - (a2-11 (-> *part-group-id-table* 126)) - (a3-9 0) - (t0-6 #f) - (t1-4 #f) - (t2-4 #f) - (t3-0 *launch-matrix*) - ) - (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 - a2-11 - a3-9 - t0-6 - t1-4 - t2-4 - t3-0 - ) - ) - (-> s5-8 ppointer) - ) - ) + (part-tracker-spawn :to self :group group-dark-eco-box-explosion :mat-joint (-> self root trans)) ) (('steel 'iron) - (let ((s5-9 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-9 - (let ((t9-20 (method-of-type part-tracker activate))) - (t9-20 (the-as part-tracker s5-9) self (symbol->string (-> part-tracker symbol)) (the-as pointer #x70004000)) - ) - (let ((t9-21 run-function-in-process) - (a0-39 s5-9) - (a1-27 part-tracker-init) - (a2-14 (-> *part-group-id-table* 125)) - (a3-11 0) - (t0-7 #f) - (t1-5 #f) - (t2-5 #f) - (t3-1 *launch-matrix*) - ) - (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 - a2-14 - a3-11 - t0-7 - t1-5 - t2-5 - t3-1 - ) - ) - (-> s5-9 ppointer) - ) - ) + (part-tracker-spawn :to self :group group-crate-steel-explode :mat-joint (-> self root trans)) ) (else - (let ((s5-10 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-10 - (let ((t9-23 (method-of-type part-tracker activate))) - (t9-23 (the-as part-tracker s5-10) self (symbol->string (-> part-tracker symbol)) (the-as pointer #x70004000)) - ) - (let ((t9-24 run-function-in-process) - (a0-42 s5-10) - (a1-32 part-tracker-init) - (a2-17 (-> *part-group-id-table* 124)) - (a3-13 0) - (t0-8 #f) - (t1-6 #f) - (t2-6 #f) - (t3-2 *launch-matrix*) - ) - (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 - a2-17 - a3-13 - t0-8 - t1-6 - t2-6 - t3-2 - ) - ) - (-> s5-10 ppointer) - ) - ) + (part-tracker-spawn :to self :group group-crate-explode :mat-joint (-> self root trans)) ) ) ) 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 85d1730e72..1bcf798a2b 100644 --- a/goal_src/jak2/engine/common_objs/generic-obs-h.gc +++ b/goal_src/jak2/engine/common_objs/generic-obs-h.gc @@ -13,7 +13,7 @@ (declare-type part-tracker process) (declare-type manipy process-drawable) (declare-type sparticle-launch-group basic) -(define-extern part-tracker-init (function sparticle-launch-group time-frame (function part-tracker none) (pointer process-drawable) process matrix none :behavior part-tracker)) +(define-extern part-tracker-init (function sparticle-launch-group time-frame (function part-tracker none) uint process matrix none :behavior part-tracker)) (define-extern manipy-init (function vector entity-actor skeleton-group vector object none :behavior manipy)) (define-extern lightning-tracker-init (function lightning-spec time-frame symbol process-drawable vector vector none :behavior lightning-tracker)) (define-extern birth-pickup-at-point (function vector pickup-type float symbol process-tree fact-info (pointer process) :behavior process)) diff --git a/goal_src/jak2/engine/common_objs/generic-obs.gc b/goal_src/jak2/engine/common_objs/generic-obs.gc index 81f0e371f3..d232285e44 100644 --- a/goal_src/jak2/engine/common_objs/generic-obs.gc +++ b/goal_src/jak2/engine/common_objs/generic-obs.gc @@ -13,6 +13,38 @@ ;; NOTE - for guard-projectile (define-extern explosion-spawn (function process-drawable type explosion-init-params none)) +(defmacro part-tracker-spawn (&key (group #f) + &key (to #f) + &key (name #f) + &key (stack-size #x4000) + &key (stack *scratch-memory-top*) + &key (duration (seconds 0)) + &key (callback #f) + &key (userdata (the uint #f)) + &key (target #f) + &key mat-joint) + "Specialized `process-spawn` macro for [[part-tracker]]s. + Returns a pointer to the new process, or #f (or is it 0?) if something goes wrong." + (with-gensyms (new-tracker) + `(let ((,new-tracker (the part-tracker (get-process *default-dead-pool* part-tracker ,stack-size)))) + (when ,new-tracker + ((method-of-type part-tracker activate) ,new-tracker ,to ,(if name name "part-tracker") ,stack) + (vector-copy! (-> *launch-matrix* trans) ,mat-joint) + (run-now-in-process ,new-tracker + part-tracker-init + ,group + ,duration + ,callback + ,userdata + ,target + *launch-matrix* + ) + (the (pointer part-tracker) (-> ,new-tracker ppointer)) + ) + ) + ) + ) + ;; DECOMP BEGINS (defskelgroup skel-spotlight spotlight spotlight-lod0-jg -1 @@ -72,12 +104,7 @@ ) ) (when arg1 - (let* ((s5-1 (-> self root)) - (a0-7 (if (type? s5-1 collide-shape) - (the-as collide-shape s5-1) - ) - ) - ) + (let ((a0-7 (as-type (-> self root) collide-shape))) (if a0-7 (move-to-point! a0-7 (-> (the-as process-drawable gp-0) root trans)) (set! (-> self root trans quad) (-> (the-as process-drawable gp-0) root trans quad)) @@ -92,12 +119,7 @@ (if (or (zero? (-> self skel active-channels)) (not (-> self skel root-channel 0 frame-group))) (logior! (-> self draw status) (draw-control-status no-draw-temp)) ) - (let* ((gp-1 self) - (v1-38 (if (type? gp-1 manipy) - gp-1 - ) - ) - ) + (let ((v1-38 (the-as process-drawable (as-type self manipy)))) (if (and v1-38 (not (-> (the-as manipy v1-38) draw?))) (logior! (-> self draw status) (draw-control-status no-draw-temp)) ) @@ -218,12 +240,7 @@ :code (behavior ((arg0 handle)) (move-along-path self) (suspend) - (while (let* ((s5-0 (handle->process arg0)) - (a0-7 (if (type? s5-0 process-focusable) - s5-0 - ) - ) - ) + (while (let ((a0-7 (the-as process (as-type (handle->process arg0) process-focusable)))) (and a0-7 (focus-test? (the-as process-focusable a0-7) pole)) ) (move-along-path self) @@ -1027,25 +1044,8 @@ ;; WARN: Return type mismatch object vs none. (defmethod notify-parent-of-death ((this part-tracker)) - (with-pp - (let ((gp-0 (new 'stack-no-clear 'event-message-block))) - (set! (-> gp-0 from) (process->ppointer pp)) - (set! (-> gp-0 num-params) 1) - (set! (-> gp-0 message) 'notify) - (set! (-> gp-0 param 0) (the-as uint 'die)) - (let ((s5-0 send-event-function) - (s4-0 (ppointer->process (-> this parent))) - ) - (s5-0 - (if (type? s4-0 process) - s4-0 - ) - gp-0 - ) - ) - ) - (none) - ) + (send-event (the-as process-tree (as-type (ppointer->process (-> this parent)) process)) 'notify 'die) + (none) ) (defstate active (part-tracker) @@ -1065,12 +1065,7 @@ (if (-> self callback) ((-> self callback) self) ) - (let* ((gp-0 (handle->process (-> self target))) - (v1-8 (if (type? gp-0 process-drawable) - gp-0 - ) - ) - ) + (let ((v1-8 (the-as process (as-type (handle->process (-> self target)) process-drawable)))) (cond ((and v1-8 (nonzero? (-> (the-as process-drawable v1-8) root)) @@ -1093,12 +1088,7 @@ (if (-> self linger-callback) ((-> self linger-callback) self) ) - (let* ((s5-0 (handle->process (-> self target))) - (v1-30 (if (type? s5-0 process-drawable) - s5-0 - ) - ) - ) + (let ((v1-30 (the-as process (as-type (handle->process (-> self target)) process-drawable)))) (if (and v1-30 (nonzero? (-> (the-as process-drawable v1-30) root)) (nonzero? (-> (the-as process-drawable v1-30) node-list)) @@ -1123,7 +1113,7 @@ (defbehavior part-tracker-init part-tracker ((arg0 sparticle-launch-group) (arg1 time-frame) (arg2 (function part-tracker none)) - (arg3 (pointer process-drawable)) + (arg3 uint) (arg4 process) (arg5 matrix) ) @@ -1175,7 +1165,7 @@ ) (set! (-> self callback) (the-as (function part-tracker vector) arg2)) (set! (-> self linger-callback) #f) - (set! (-> self userdata) (the-as uint arg3)) + (set! (-> self userdata) arg3) (set! arg1 (cond ((> arg1 0) (empty) @@ -1240,43 +1230,18 @@ ;; WARN: Return type mismatch object vs none. (defmethod notify-parent-of-death ((this lightning-tracker)) - (with-pp - (let ((gp-0 (new 'stack-no-clear 'event-message-block))) - (set! (-> gp-0 from) (process->ppointer pp)) - (set! (-> gp-0 num-params) 1) - (set! (-> gp-0 message) 'notify) - (set! (-> gp-0 param 0) (the-as uint 'die)) - (let ((s5-0 send-event-function) - (s4-0 (ppointer->process (-> this parent))) - ) - (s5-0 - (if (type? s4-0 process) - s4-0 - ) - gp-0 - ) - ) - ) - (none) - ) + (send-event (the-as process-tree (as-type (ppointer->process (-> this parent)) process)) 'notify 'die) + (none) ) (defmethod update ((this lightning-tracker)) (if (-> this callback) ((-> this callback) this) ) - (let ((a0-6 (cond - ((>= (-> this target-joint0) 0) - (let ((s5-0 (handle->process (-> this target0)))) - (if (type? s5-0 process-drawable) - s5-0 - ) - ) - ) - (else + (let ((a0-6 (if (>= (-> this target-joint0) 0) + (the-as process (as-type (handle->process (-> this target0)) process-drawable)) (the-as process #f) ) - ) ) ) (cond @@ -1312,18 +1277,10 @@ ) ) ) - (let ((a0-22 (cond - ((>= (-> this target-joint1) 0) - (let ((s5-3 (handle->process (-> this target1)))) - (if (type? s5-3 process-drawable) - s5-3 - ) - ) - ) - (else + (let ((a0-22 (if (>= (-> this target-joint1) 0) + (the-as process (as-type (handle->process (-> this target1)) process-drawable)) (the-as process #f) ) - ) ) ) (cond @@ -1406,12 +1363,7 @@ (let ((s5-1 (new 'stack-no-clear 'vector))) (set! (-> s5-1 quad) (-> self offset1 quad)) (when (and (>= (-> self target-joint1) 0) (< (-> self target-joint1) 256)) - (let* ((s4-0 (handle->process (-> self target1))) - (v1-28 (if (type? s4-0 process-drawable) - s4-0 - ) - ) - ) + (let ((v1-28 (the-as process (as-type (handle->process (-> self target1)) process-drawable)))) (if (and v1-28 (nonzero? (-> (the-as process-drawable v1-28) root))) (set! (-> s5-1 quad) (-> (vector<-cspace! (new 'stack-no-clear 'vector) @@ -1506,12 +1458,9 @@ (defbehavior lightning-tracker-init lightning-tracker ((arg0 lightning-spec) (arg1 time-frame) (arg2 symbol) (arg3 process-drawable) (arg4 vector) (arg5 vector)) (stack-size-set! (-> self main-thread) 128) (set! (-> self target0) (process->handle arg3)) - (let ((s1-1 (ppointer->process (-> self parent)))) - (set! (-> self target1) (process->handle (the-as process (if (type? s1-1 process-drawable) - s1-1 - ) - ) - ) + (set! (-> self target1) + (process->handle + (the-as process (the-as process-tree (as-type (ppointer->process (-> self parent)) process-drawable))) ) ) ;; Note: there's some changes here to skip setting things if arg4 is #f. @@ -1612,12 +1561,7 @@ ;; WARN: Return type mismatch object vs symbol. (defbehavior process-release? process ((arg0 process)) - (let* ((gp-0 (command-get-process arg0 *target*)) - (a0-2 (if (type? gp-0 process-focusable) - (the-as process-focusable gp-0) - ) - ) - ) + (let ((a0-2 (as-type (command-get-process arg0 *target*) process-focusable))) (the-as symbol (if (and a0-2 (focus-test? a0-2 grabbed)) (send-event a0-2 'end-mode) #t @@ -2448,13 +2392,13 @@ (set! (-> this part) (create-launch-control (cond ((= v1-14 'beach) - (-> *part-group-id-table* 6) + group-beach-launcher ) ((= v1-14 'swamp) - (-> *part-group-id-table* 8) + group-swamp-launcher ) (else - (-> *part-group-id-table* 7) + group-jungle-launcher ) ) this @@ -2515,13 +2459,13 @@ (set! (-> self part) (create-launch-control (cond ((= v1-18 'beach) - (-> *part-group-id-table* 6) + group-beach-launcher ) ((= v1-18 'swamp) - (-> *part-group-id-table* 8) + group-swamp-launcher ) (else - (-> *part-group-id-table* 7) + group-jungle-launcher ) ) self @@ -2618,19 +2562,9 @@ :code (behavior () (set-time! (-> self state-time)) (while ((-> self run-function)) - (let* ((gp-0 (handle->process (-> self target))) - (a0-4 (if (type? gp-0 process-drawable) - gp-0 - ) - ) - ) + (let ((a0-4 (the-as process (as-type (handle->process (-> self target)) process-drawable)))) (when a0-4 - (let* ((gp-1 (-> (the-as process-drawable a0-4) root)) - (a0-6 (if (type? gp-1 collide-shape) - gp-1 - ) - ) - ) + (let ((a0-6 (the-as trsqv (as-type (-> (the-as process-drawable a0-4) root) collide-shape)))) (if a0-6 (set! (-> self root trans quad) (-> (the-as collide-shape a0-6) root-prim prim-core world-sphere quad)) ) @@ -2791,12 +2725,7 @@ :event (behavior ((proc process) (argc int) (message symbol) (block event-message-block)) (case message (('touched) - (let* ((s4-0 proc) - (v1-1 (if (type? s4-0 process-drawable) - s4-0 - ) - ) - ) + (let ((v1-1 (the-as process (as-type proc process-drawable)))) (when v1-1 (let ((a0-3 (-> (the-as process-drawable v1-1) root)) (a1-2 (new 'stack-no-clear 'collide-query)) @@ -2806,7 +2735,7 @@ ) 0.0 (set! (-> a1-2 start-pos quad) (-> v1-4 world-sphere quad)) - (vector-! (-> a1-2 move-dist) (the-as vector a0-5) (the-as vector v1-4)) + (vector-! (-> a1-2 move-dist) (-> a0-5 world-sphere) (-> v1-4 world-sphere)) ) (let ((v1-5 a1-2)) (set! (-> v1-5 radius) 40.96) @@ -2865,7 +2794,7 @@ ((and (nonzero? s4-0) (type? s4-0 collide-shape)) (vector+! arg1 - (the-as vector (-> (the-as collide-shape s4-0) root-prim prim-core)) + (-> (the-as collide-shape s4-0) root-prim prim-core world-sphere) (rand-vu-sphere-point! arg1 (-> (the-as collide-shape s4-0) root-prim prim-core world-sphere w)) ) ) diff --git a/goal_src/jak2/engine/common_objs/voicebox.gc b/goal_src/jak2/engine/common_objs/voicebox.gc index 16cb37d664..a49591e854 100644 --- a/goal_src/jak2/engine/common_objs/voicebox.gc +++ b/goal_src/jak2/engine/common_objs/voicebox.gc @@ -221,12 +221,7 @@ ) :enter (behavior () (set! (-> self start-time) (-> *display* game-clock frame-counter)) - (let* ((gp-0 (ppointer->process (-> self parent 0 parent))) - (a1-1 (if (type? gp-0 process-focusable) - gp-0 - ) - ) - ) + (let ((a1-1 (the-as process-tree (as-type (ppointer->process (-> self parent 0 parent)) process-focusable)))) (if a1-1 (try-update-focus (-> self focus) (the-as process-focusable a1-1)) ) @@ -241,12 +236,7 @@ ) ) :code (behavior () - (let* ((gp-0 (ppointer->process (-> self parent 0 parent))) - (a0-1 (if (type? gp-0 process-focusable) - (the-as process-focusable gp-0) - ) - ) - ) + (let ((a0-1 (as-type (ppointer->process (-> self parent 0 parent)) process-focusable))) (if (and a0-1 (focus-test? a0-1 pilot)) (send-event (ppointer->process (-> self parent)) @@ -314,7 +304,7 @@ (set! (-> this blend) 1.0) (set! (-> this draw light-index) (the-as uint 30)) (set! (-> this speak-effect?) #f) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 77) this)) + (set! (-> this part) (create-launch-control group-talkbox-speak this)) (none) ) @@ -443,10 +433,7 @@ ) (('touch 'attack) (let ((s4-0 (process-spawn camera-remote :init cam-slave-init cam-remote #f :from *camera-dead-pool* :to proc)) - (s5-2 (if (type? proc process-focusable) - (the-as process-focusable proc) - ) - ) + (s5-2 (as-type proc process-focusable)) ) (when (and s4-0 (begin (send-event s5-2 'change-mode 'board #f) (focus-test? s5-2 board))) (change-parent self (ppointer->process s4-0)) diff --git a/goal_src/jak2/engine/common_objs/water.gc b/goal_src/jak2/engine/common_objs/water.gc index 774c4f9ce0..1b682c71b4 100644 --- a/goal_src/jak2/engine/common_objs/water.gc +++ b/goal_src/jak2/engine/common_objs/water.gc @@ -691,7 +691,7 @@ ) ((begin (set! (-> this top 1 quad) (-> this top 0 quad)) - (vector<-cspace! (the-as vector (-> this top)) (-> this process node-list data (-> this joint-index))) + (vector<-cspace! (-> this top 0) (-> this process node-list data (-> this joint-index))) (+! (-> this top 0 y) (-> this top-y-offset)) (set! (-> this bottom 1 quad) (-> this bottom 0 quad)) (set! (-> this bottom 0 quad) (-> this process control trans quad)) @@ -888,11 +888,7 @@ ) ) ) - (let* ((s3-2 (-> this process control)) - (v1-236 (if (type? s3-2 control-info) - s3-2 - ) - ) + (let* ((v1-236 (as-type (-> this process control) control-info)) (v1-237 (and v1-236 (not (time-elapsed? (-> v1-236 last-time-on-surface) (seconds 0.5))))) ) (if (and (logtest? (-> this flags) (water-flags swim-ground)) @@ -1267,8 +1263,8 @@ (a0-3 s5-0) (a1-3 part-tracker-init) (a2-5 (if (zero? arg2) - (-> *part-group-id-table* 122) - (-> *part-group-id-table* 121) + group-part-water-splash-small + group-part-water-splash ) ) (a3-1 0) @@ -1393,16 +1389,16 @@ ) ) (('water-anim) - (let* ((s0-0 (command-get-process - (-> (the-as pair (-> (the-as pair (-> (the-as pair s2-0) cdr)) cdr)) car) - (the-as process #f) - ) - ) - (s1-0 (if (type? s0-0 process-drawable) - s0-0 - ) - ) - ) + (let ((s1-0 (the-as process (as-type + (command-get-process + (-> (the-as pair (-> (the-as pair (-> (the-as pair s2-0) cdr)) cdr)) car) + (the-as process #f) + ) + process-drawable + ) + ) + ) + ) (cond (s1-0 (set! (-> arg0 flags) (water-flags active use-water-anim)) @@ -1443,12 +1439,7 @@ (logior! (-> arg0 flags) (water-flags lava)) ) ((= v1-39 'mech) - (let* ((s1-1 (-> arg2 process)) - (a0-39 (if (type? s1-1 process-focusable) - s1-1 - ) - ) - ) + (let ((a0-39 (the-as process-drawable (as-type (-> arg2 process) process-focusable)))) (when (and a0-39 (not (logtest? (focus-status mech) (-> (the-as process-focusable a0-39) focus-status)))) (set! (-> arg0 flags) (water-flags)) 0 diff --git a/goal_src/jak2/engine/data/art-h.gc b/goal_src/jak2/engine/data/art-h.gc index 5eaf5a150a..4512ebb787 100644 --- a/goal_src/jak2/engine/data/art-h.gc +++ b/goal_src/jak2/engine/data/art-h.gc @@ -446,4 +446,5 @@ :light-index ,light-index))) (import "goal_src/jak2/engine/data/art-elts.gc") -(import "goal_src/jak2/engine/data/joint-nodes.gc") \ No newline at end of file +(import "goal_src/jak2/engine/data/joint-nodes.gc") +(import "goal_src/jak2/engine/data/part-groups.gc") \ No newline at end of file diff --git a/goal_src/jak2/engine/data/part-groups.gc b/goal_src/jak2/engine/data/part-groups.gc new file mode 100644 index 0000000000..897c98793e --- /dev/null +++ b/goal_src/jak2/engine/data/part-groups.gc @@ -0,0 +1,1293 @@ +(defconstant group-vinroom-console-blue-light-3 (-> *part-group-id-table* 266)) +(defconstant group-vinroom-console-blue-light-2 (-> *part-group-id-table* 265)) +(defconstant group-vinroom-console-blue-light-1 (-> *part-group-id-table* 264)) +(defconstant group-vinroom-console-little-red-light-8 (-> *part-group-id-table* 263)) +(defconstant group-vinroom-console-little-red-light-7 (-> *part-group-id-table* 262)) +(defconstant group-vinroom-console-little-red-light-6 (-> *part-group-id-table* 261)) +(defconstant group-vinroom-console-little-red-light-5 (-> *part-group-id-table* 260)) +(defconstant group-vinroom-console-little-red-light-4 (-> *part-group-id-table* 259)) +(defconstant group-vinroom-console-little-red-light-3 (-> *part-group-id-table* 258)) +(defconstant group-vinroom-console-little-red-light-2 (-> *part-group-id-table* 257)) +(defconstant group-vinroom-console-little-red-light-1 (-> *part-group-id-table* 256)) +(defconstant group-vinroom-center-sphere (-> *part-group-id-table* 255)) +(defconstant group-vinroom-tv-final (-> *part-group-id-table* 254)) +(defconstant group-vinroom-tv-smallradar (-> *part-group-id-table* 253)) +(defconstant group-vinroom-tv-splitdots (-> *part-group-id-table* 252)) +(defconstant group-vinroom-tv-threebar-3 (-> *part-group-id-table* 251)) +(defconstant group-vinroom-tv-threebar-2 (-> *part-group-id-table* 250)) +(defconstant group-vinroom-tv-threebar-1 (-> *part-group-id-table* 249)) +(defconstant group-vinroom-tv-radar (-> *part-group-id-table* 248)) +(defconstant group-vinroom-tv-numbers (-> *part-group-id-table* 247)) +(defconstant group-vinroom-tv-bargraph (-> *part-group-id-table* 246)) +(defconstant group-vinroom-tv-dots (-> *part-group-id-table* 245)) +(defconstant group-vinroom-tv-2dcode (-> *part-group-id-table* 244)) +(defconstant group-vinroom-tv-code (-> *part-group-id-table* 243)) +(defconstant group-vinroom-tv-matrix (-> *part-group-id-table* 242)) +(defconstant group-vinroom-console-2 (-> *part-group-id-table* 241)) +(defconstant group-vinroom-console-1 (-> *part-group-id-table* 240)) +(defconstant group-canyon-mtn-shard-glow (-> *part-group-id-table* 397)) +(defconstant group-canyon-horz-gear-dust (-> *part-group-id-table* 396)) +(defconstant group-canyon-vert-gear-dust (-> *part-group-id-table* 395)) +(defconstant group-canyon-dust-trail-smaller (-> *part-group-id-table* 394)) +(defconstant group-canyon-dust-trail (-> *part-group-id-table* 393)) +(defconstant group-canyon-baron-door-explosion (-> *part-group-id-table* 392)) +(defconstant group-canyon-baron-statue-explosion (-> *part-group-id-table* 391)) +(defconstant group-canyon-baron-break-trailer-large (-> *part-group-id-table* 390)) +(defconstant group-canyon-baron-break-trailer-medium (-> *part-group-id-table* 389)) +(defconstant group-canyon-baron-break-trailer-small (-> *part-group-id-table* 388)) +(defconstant group-canyon-baron-break-trailer-door (-> *part-group-id-table* 387)) +(defconstant group-gungame-blue-lights (-> *part-group-id-table* 534)) +(defconstant group-gungame-pipespew (-> *part-group-id-table* 533)) +(defconstant group-gungame-overhead-lights (-> *part-group-id-table* 532)) +(defconstant group-gungame-vent (-> *part-group-id-table* 531)) +(defconstant group-gungame-laser-beam (-> *part-group-id-table* 530)) +(defconstant group-gun-cit-d (-> *part-group-id-table* 529)) +(defconstant group-gun-cit-c (-> *part-group-id-table* 528)) +(defconstant group-gun-cit-b (-> *part-group-id-table* 527)) +(defconstant group-gun-cit-a (-> *part-group-id-table* 526)) +(defconstant group-gun-dummy-peace (-> *part-group-id-table* 525)) +(defconstant group-gun-dummy-gold (-> *part-group-id-table* 524)) +(defconstant group-gun-dummy-big (-> *part-group-id-table* 523)) +(defconstant group-gun-dummy-c (-> *part-group-id-table* 522)) +(defconstant group-gun-dummy-b (-> *part-group-id-table* 521)) +(defconstant group-gun-dummy-a (-> *part-group-id-table* 520)) +(defconstant group-gun-dummy-sparks (-> *part-group-id-table* 519)) +(defconstant group-ctygenb-under-bridge-light (-> *part-group-id-table* 847)) +(defconstant group-ctygenb-ground-vent-square (-> *part-group-id-table* 846)) +(defconstant group-ctygenb-ticker-vertical (-> *part-group-id-table* 845)) +(defconstant group-ctygenb-ticker-horizontal (-> *part-group-id-table* 844)) +(defconstant group-ctygenb-sign-4x4 (-> *part-group-id-table* 843)) +(defconstant group-ctygenb-sign-4x8 (-> *part-group-id-table* 842)) +(defconstant group-ctygenb-sign-8x4 (-> *part-group-id-table* 841)) +(defconstant group-ctygenb-blue-vents-wall (-> *part-group-id-table* 840)) +(defconstant group-ctygenb-blue-vents-pipe-bent (-> *part-group-id-table* 839)) +(defconstant group-ctygenb-blue-street-lamp (-> *part-group-id-table* 838)) +(defconstant group-ctygenb-blue-light-wall (-> *part-group-id-table* 837)) +(defconstant group-ctygenb-red-light-small (-> *part-group-id-table* 836)) +(defconstant group-ctygenb-ground-light (-> *part-group-id-table* 835)) +(defconstant group-ctygenb-ground-vent-base (-> *part-group-id-table* 834)) +(defconstant group-cargo-explosion (-> *part-group-id-table* 1057)) +(defconstant group-bush-collect (-> *part-group-id-table* 1056)) +(defconstant group-rolling-explode-ring (-> *part-group-id-table* 1055)) +(defconstant group-rolling-spawn-ring (-> *part-group-id-table* 1054)) +(defconstant group-rolling-ring (-> *part-group-id-table* 1053)) +(defconstant group-palshaft-console-1 (-> *part-group-id-table* 1070)) +(defconstant group-palshaft-yellow-strip-lights (-> *part-group-id-table* 1069)) +(defconstant group-palshaft-blue-strip-lights (-> *part-group-id-table* 1068)) +(defconstant group-palshaft-yellow-lights (-> *part-group-id-table* 1067)) +(defconstant group-palshaft-overhead-lights (-> *part-group-id-table* 1066)) +(defconstant group-widow-damaged-sparks (-> *part-group-id-table* 738)) +(defconstant group-widow-boss-pebble-drop (-> *part-group-id-table* 737)) +(defconstant group-widow-hit-by-sml-debris (-> *part-group-id-table* 736)) +(defconstant group-widow-hit-by-med-debris (-> *part-group-id-table* 735)) +(defconstant group-widow-hit-by-big-debris (-> *part-group-id-table* 734)) +(defconstant group-widow-debris-dust (-> *part-group-id-table* 733)) +(defconstant group-widow-green-gun-fire (-> *part-group-id-table* 732)) +(defconstant group-widow-green-gun-charge (-> *part-group-id-table* 731)) +(defconstant group-widow-land (-> *part-group-id-table* 730)) +(defconstant group-widow-green-cannon-glow-rays-movie (-> *part-group-id-table* 729)) +(defconstant group-widow-green-cannon-glow-rays (-> *part-group-id-table* 728)) +(defconstant group-widow-stone-glint (-> *part-group-id-table* 727)) +(defconstant group-widow-stone-glow (-> *part-group-id-table* 726)) +(defconstant group-widow-bomb-skid-sparks (-> *part-group-id-table* 725)) +(defconstant group-widow-bomb-warning-glow (-> *part-group-id-table* 724)) +(defconstant group-widow-bomb-warning-sparks (-> *part-group-id-table* 723)) +(defconstant group-widow-bomb-trail (-> *part-group-id-table* 722)) +(defconstant group-widow-launch-bomb-or-droid (-> *part-group-id-table* 721)) +(defconstant group-widow-firepot-shatter (-> *part-group-id-table* 720)) +(defconstant group-widow-pillar-fall (-> *part-group-id-table* 719)) +(defconstant group-widow-pillar-hit (-> *part-group-id-table* 718)) +(defconstant group-widow-catwalk-shatter (-> *part-group-id-table* 717)) +(defconstant group-widow-insert-stone (-> *part-group-id-table* 716)) +(defconstant group-widow-extract-stone (-> *part-group-id-table* 715)) +(defconstant group-widow-drilling-sparks-alt (-> *part-group-id-table* 714)) +(defconstant group-widow-drilling-sparks (-> *part-group-id-table* 713)) +(defconstant group-widow-bomb-smoke (-> *part-group-id-table* 712)) +(defconstant group-widow-bomb-explode (-> *part-group-id-table* 711)) +(defconstant group-tomb-beetle-explode (-> *part-group-id-table* 708)) +(defconstant group-tomb-boss-bridge-trailer (-> *part-group-id-table* 707)) +(defconstant group-tomb-spider-dirt-collapse (-> *part-group-id-table* 706)) +(defconstant group-tomb-spider-chase-explosion-fma (-> *part-group-id-table* 705)) +(defconstant group-tomb-spider-chase-explosion (-> *part-group-id-table* 704)) +(defconstant group-tomb-spider-foot-puff (-> *part-group-id-table* 703)) +(defconstant group-tomb-spider-chase-trailer-large (-> *part-group-id-table* 702)) +(defconstant group-tomb-spider-chase-trailer-medium (-> *part-group-id-table* 701)) +(defconstant group-tomb-spider-chase-trailer (-> *part-group-id-table* 700)) +(defconstant group-tomb-spider-chase-trailer-small (-> *part-group-id-table* 699)) +(defconstant group-tomb-boss-end-trailer-large (-> *part-group-id-table* 698)) +(defconstant group-tomb-boss-end-explosion (-> *part-group-id-table* 697)) +(defconstant group-tomb-water-trap-hit (-> *part-group-id-table* 696)) +(defconstant group-tomb-eco-flamepot-1 (-> *part-group-id-table* 695)) +(defconstant group-tomb-small-flamepot-3 (-> *part-group-id-table* 694)) +(defconstant group-tomb-small-flamepot-2 (-> *part-group-id-table* 693)) +(defconstant group-tomb-small-flamepot-1 (-> *part-group-id-table* 692)) +(defconstant group-tomb-boulder-flamepot-3 (-> *part-group-id-table* 691)) +(defconstant group-tomb-flamepot-3 (-> *part-group-id-table* 690)) +(defconstant group-tomb-flamepot-2 (-> *part-group-id-table* 689)) +(defconstant group-tomb-flamepot-1 (-> *part-group-id-table* 688)) +(defconstant group-tomb-huge-flamepot (-> *part-group-id-table* 687)) +(defconstant group-tomb-vibe-dust-puff (-> *part-group-id-table* 686)) +(defconstant group-ctyinda-squarevent (-> *part-group-id-table* 987)) +(defconstant group-ctyinda-smokestack (-> *part-group-id-table* 986)) +(defconstant group-ctyinda-red-big-lights-6 (-> *part-group-id-table* 985)) +(defconstant group-ctyinda-red-big-lights-5 (-> *part-group-id-table* 984)) +(defconstant group-ctyinda-red-big-lights-4 (-> *part-group-id-table* 983)) +(defconstant group-ctyinda-red-big-lights-3 (-> *part-group-id-table* 982)) +(defconstant group-ctyinda-red-big-lights-2 (-> *part-group-id-table* 981)) +(defconstant group-ctyinda-red-big-lights-1 (-> *part-group-id-table* 980)) +(defconstant group-ctyinda-chimney-small (-> *part-group-id-table* 979)) +(defconstant group-ctyinda-chimney-smoke (-> *part-group-id-table* 978)) +(defconstant group-ctyinda-chimney (-> *part-group-id-table* 977)) +(defconstant group-ctyinda-sign-onin-knows-4x4 (-> *part-group-id-table* 976)) +(defconstant group-ctyinda-sign-praxis-banner-4x8 (-> *part-group-id-table* 975)) +(defconstant group-ctyinda-sign-fashion-8x4 (-> *part-group-id-table* 974)) +(defconstant group-ctyinda-wide-glows-yellow (-> *part-group-id-table* 973)) +(defconstant group-ctyinda-blue-lights (-> *part-group-id-table* 972)) +(defconstant group-ctyinda-red-lights (-> *part-group-id-table* 971)) +(defconstant group-ctyinda-red-floor-vent (-> *part-group-id-table* 970)) +(defconstant group-skatea-flaming-ring (-> *part-group-id-table* 539)) +(defconstant group-skatea-overhead-light (-> *part-group-id-table* 538)) +(defconstant group-skatea-tall-vertical-light (-> *part-group-id-table* 537)) +(defconstant group-skatea-vertical-light (-> *part-group-id-table* 536)) +(defconstant group-skatea-triangle-light (-> *part-group-id-table* 535)) +(defconstant group-fordumpb-exit-panel (-> *part-group-id-table* 560)) +(defconstant group-fordumpb-single-red-lights (-> *part-group-id-table* 559)) +(defconstant group-fordumpb-red-lights (-> *part-group-id-table* 558)) +(defconstant group-fordumpb-blue-lights (-> *part-group-id-table* 557)) +(defconstant group-fordumpb-yellow-glows (-> *part-group-id-table* 556)) +(defconstant group-fordumpb-panel-4 (-> *part-group-id-table* 555)) +(defconstant group-fordumpb-panel-3 (-> *part-group-id-table* 554)) +(defconstant group-fordumpb-panel-1 (-> *part-group-id-table* 553)) +(defconstant group-ctymarkb-neon-sign-rugs (-> *part-group-id-table* 1024)) +(defconstant group-ctymarkb-neon-sign-fish (-> *part-group-id-table* 1023)) +(defconstant group-ctymarkb-neon-sign-tools (-> *part-group-id-table* 1022)) +(defconstant group-ctymarkb-quickflash-red-light (-> *part-group-id-table* 1021)) +(defconstant group-ctymarkb-red-light (-> *part-group-id-table* 1020)) +(defconstant group-ctymarkb-shop-light (-> *part-group-id-table* 1019)) +(defconstant group-ctymarkb-hanging-light-4 (-> *part-group-id-table* 1018)) +(defconstant group-ctymarkb-hanging-light-3 (-> *part-group-id-table* 1017)) +(defconstant group-ctymarkb-hanging-light-2 (-> *part-group-id-table* 1016)) +(defconstant group-ctymarkb-hanging-light-1 (-> *part-group-id-table* 1015)) +(defconstant group-ctymarka-neon-sign-rugs (-> *part-group-id-table* 1014)) +(defconstant group-ctymarka-neon-sign-fish (-> *part-group-id-table* 1013)) +(defconstant group-ctymarka-neon-sign-tools (-> *part-group-id-table* 1012)) +(defconstant group-ctymarka-shop-light (-> *part-group-id-table* 1011)) +(defconstant group-msack-b-explode (-> *part-group-id-table* 1010)) +(defconstant group-msack-a-explode (-> *part-group-id-table* 1009)) +(defconstant group-mbasket-b-explode (-> *part-group-id-table* 1008)) +(defconstant group-mbasket-a-explode (-> *part-group-id-table* 1007)) +(defconstant group-mcrate-explode (-> *part-group-id-table* 1006)) +(defconstant group-ctygenc-ticker-vertical (-> *part-group-id-table* 858)) +(defconstant group-ctygenc-ticker-horizontal (-> *part-group-id-table* 857)) +(defconstant group-ctygenc-sign-4x4-2 (-> *part-group-id-table* 856)) +(defconstant group-ctygenc-sign-4x4-1 (-> *part-group-id-table* 855)) +(defconstant group-land-poof-unk (-> *part-group-id-table* 20)) +(defconstant group-palent-yellow-light (-> *part-group-id-table* 1129)) +(defconstant group-pal-grind-ring-explode (-> *part-group-id-table* 1132)) +(defconstant group-run-poof-unk (-> *part-group-id-table* 23)) +(defconstant group-throne-lights (-> *part-group-id-table* 1133)) +(defconstant group-just-poof-unk (-> *part-group-id-table* 24)) +(defconstant group-run-poof-grs (-> *part-group-id-table* 38)) +(defconstant group-dig-jump-pad-launcher (-> *part-group-id-table* 1147)) +(defconstant group-laser-glow (-> *part-group-id-table* 65)) +(defconstant group-consite-large-pipe-steam (-> *part-group-id-table* 1174)) +(defconstant group-slide-poof-snw (-> *part-group-id-table* 52)) +(defconstant group-dig-big-light (-> *part-group-id-table* 1161)) +(defconstant group-eco-green-collect (-> *part-group-id-table* 79)) +(defconstant group-castle-red-gauge (-> *part-group-id-table* 1188)) +(defconstant group-slide-poof-ice (-> *part-group-id-table* 53)) +(defconstant group-dig-red-light (-> *part-group-id-table* 1162)) +(defconstant group-eco-green-pill (-> *part-group-id-table* 80)) +(defconstant group-castle-pipe-green-drip (-> *part-group-id-table* 1189)) +(defconstant group-slide-poof-wod (-> *part-group-id-table* 54)) +(defconstant group-dig-lantern (-> *part-group-id-table* 1163)) +(defconstant group-eco-green-pill-collect (-> *part-group-id-table* 81)) +(defconstant group-castle-console-green-screen (-> *part-group-id-table* 1190)) +(defconstant group-castle-console-flashing-red-light-1 (-> *part-group-id-table* 1191)) +(defconstant group-eco-dark-pill (-> *part-group-id-table* 82)) +(defconstant group-castle-console-flashing-red-light-2 (-> *part-group-id-table* 1192)) +(defconstant group-eco-green (-> *part-group-id-table* 83)) +(defconstant group-castle-green-dome-light (-> *part-group-id-table* 1193)) +(defconstant group-eco-dark-pill-move-collect (-> *part-group-id-table* 84)) +(defconstant group-castle-steamvent (-> *part-group-id-table* 1194)) +(defconstant group-generic-collect (-> *part-group-id-table* 85)) +(defconstant group-forexitb-yellow-glows (-> *part-group-id-table* 626)) +(defconstant group-castle-pipe-green-steam (-> *part-group-id-table* 1195)) +(defconstant group-gem-glow (-> *part-group-id-table* 86)) +(defconstant group-forexitb-red-glows (-> *part-group-id-table* 627)) +(defconstant group-castle-pod-pipe (-> *part-group-id-table* 1196)) +(defconstant group-gem-collect (-> *part-group-id-table* 87)) +(defconstant group-forexitb-blue-lights (-> *part-group-id-table* 628)) +(defconstant group-ctysluma-barrel-fire (-> *part-group-id-table* 859)) +(defconstant group-atoll-tank-a-trail (-> *part-group-id-table* 318)) +(defconstant group-castle-green-slime (-> *part-group-id-table* 1197)) +(defconstant group-ammo-yellow-collect (-> *part-group-id-table* 88)) +(defconstant group-forexitb-single-blue-lights-1 (-> *part-group-id-table* 629)) +(defconstant group-ctysluma-streetlight-glows (-> *part-group-id-table* 860)) +(defconstant group-atoll-tank-a-ground (-> *part-group-id-table* 319)) +(defconstant group-castle-green-slime-tube (-> *part-group-id-table* 1198)) +(defconstant group-ammo-red-collect (-> *part-group-id-table* 89)) +(defconstant group-forexitb-l-upsideown-panel (-> *part-group-id-table* 630)) +(defconstant group-ctysluma-steamescape (-> *part-group-id-table* 861)) +(defconstant group-atoll-tank-a-slide (-> *part-group-id-table* 320)) +(defconstant group-castle-pod-green-slime-tube (-> *part-group-id-table* 1199)) +(defconstant group-ammo-blue-collect (-> *part-group-id-table* 90)) +(defconstant group-forexitb-l-panel (-> *part-group-id-table* 631)) +(defconstant group-ctysluma-steamvent (-> *part-group-id-table* 862)) +(defconstant group-atoll-tank-intact (-> *part-group-id-table* 321)) +(defconstant group-castle-pod-dial-small (-> *part-group-id-table* 1200)) +(defconstant group-ammo-dark-collect (-> *part-group-id-table* 91)) +(defconstant group-forexitb-pipe-drip (-> *part-group-id-table* 632)) +(defconstant group-ctysluma-spray (-> *part-group-id-table* 863)) +(defconstant group-atoll-tank-aftermath (-> *part-group-id-table* 322)) +(defconstant group-castle-pod-dial-large (-> *part-group-id-table* 1201)) +(defconstant group-eco-dark-pill-collect (-> *part-group-id-table* 92)) +(defconstant group-forexitb-ceiling-light-oneoff (-> *part-group-id-table* 633)) +(defconstant group-ctysluma-spray-check-userdata-8 (-> *part-group-id-table* 864)) +(defconstant group-atoll-tank-explosion (-> *part-group-id-table* 323)) +(defconstant group-castle-dial-small (-> *part-group-id-table* 1202)) +(defconstant group-green-collect (-> *part-group-id-table* 93)) +(defconstant group-forexitb-ceiling-pipe-drip2 (-> *part-group-id-table* 634)) +(defconstant group-ctysluma-chimney (-> *part-group-id-table* 865)) +(defconstant group-atoll-tank-splash (-> *part-group-id-table* 324)) +(defconstant group-castle-dial-large (-> *part-group-id-table* 1203)) +(defconstant group-skate-point (-> *part-group-id-table* 94)) +(defconstant group-forexitb-ceiling-pipe-drip1 (-> *part-group-id-table* 635)) +(defconstant group-ctysluma-chimney-smoke (-> *part-group-id-table* 866)) +(defconstant group-atoll-bling-bling (-> *part-group-id-table* 325)) +(defconstant group-krew-boss-gun-charge (-> *part-group-id-table* 1204)) +(defconstant group-skate-point-explode (-> *part-group-id-table* 95)) +(defconstant group-forexitb-random-drip-main (-> *part-group-id-table* 636)) +(defconstant group-ctysluma-sign-m5-8x4 (-> *part-group-id-table* 867)) +(defconstant group-atoll-bling-bling-big (-> *part-group-id-table* 326)) +(defconstant group-castle-post-explosion (-> *part-group-id-table* 1205)) +(defconstant group-red-eco-strike-ground (-> *part-group-id-table* 96)) +(defconstant group-forresca-overhead-lights (-> *part-group-id-table* 637)) +(defconstant group-ctysluma-sign-metalhead-8x4 (-> *part-group-id-table* 868)) +(defconstant group-hellcat-steady (-> *part-group-id-table* 327)) +(defconstant group-castle-post-explosion-glows (-> *part-group-id-table* 1206)) +(defconstant group-red-eco-spinkick (-> *part-group-id-table* 97)) +(defconstant group-forresca-yellow-glows (-> *part-group-id-table* 638)) +(defconstant group-ctysluma-sign-crimson-4x8 (-> *part-group-id-table* 869)) +(defconstant group-ashelin-dust-puff (-> *part-group-id-table* 328)) +(defconstant group-castle-explosion-2 (-> *part-group-id-table* 1207)) +(defconstant group-eco-blue (-> *part-group-id-table* 98)) +(defconstant group-forresca-blue-lights (-> *part-group-id-table* 639)) +(defconstant group-ctysluma-sign-doctors-4x4 (-> *part-group-id-table* 870)) +(defconstant group-sniper-hit (-> *part-group-id-table* 329)) +(defconstant group-castle-explosion-2d-1 (-> *part-group-id-table* 1208)) +(defconstant group-eco-blue-collect (-> *part-group-id-table* 99)) +(defconstant group-forresca-single-red-lights-1 (-> *part-group-id-table* 640)) +(defconstant group-ctysluma-sign-hiphog-4x4 (-> *part-group-id-table* 871)) +(defconstant group-sniper-a-debris (-> *part-group-id-table* 330)) +(defconstant group-castle-explosion-2d-2 (-> *part-group-id-table* 1209)) +(defconstant group-part-vent-blue-active (-> *part-group-id-table* 100)) +(defconstant group-forresca-single-red-lights-2 (-> *part-group-id-table* 641)) +(defconstant group-ctysluma-sign-blank-4x4 (-> *part-group-id-table* 872)) +(defconstant group-sniper-b-debris (-> *part-group-id-table* 331)) +(defconstant group-castle-explosion-2d-3 (-> *part-group-id-table* 1210)) +(defconstant group-part-vent-blue-inactive (-> *part-group-id-table* 101)) +(defconstant group-forresca-single-red-lights-3 (-> *part-group-id-table* 642)) +(defconstant group-neon-baron (-> *part-group-id-table* 873)) +(defconstant group-sniper-c-debris (-> *part-group-id-table* 332)) +(defconstant group-castle-krew-light (-> *part-group-id-table* 1211)) +(defconstant group-eco-red (-> *part-group-id-table* 102)) +(defconstant group-forresca-single-red-lights-4 (-> *part-group-id-table* 643)) +(defconstant group-ctyslumb-barrel-fire (-> *part-group-id-table* 874)) +(defconstant group-sniper-c-hit-ground (-> *part-group-id-table* 333)) +(defconstant group-castle-hellcat-thruster (-> *part-group-id-table* 1212)) +(defconstant group-eco-red-collect (-> *part-group-id-table* 103)) +(defconstant group-forresca-single-red-lights-5 (-> *part-group-id-table* 644)) +(defconstant group-ctyslumb-streetlight-glows (-> *part-group-id-table* 875)) +(defconstant group-sniper-d-debris (-> *part-group-id-table* 334)) +(defconstant group-casboss-light (-> *part-group-id-table* 1213)) +(defconstant group-part-vent-red-active (-> *part-group-id-table* 104)) +(defconstant group-forresca-single-red-lights-6 (-> *part-group-id-table* 645)) +(defconstant group-ctyslumb-chimney (-> *part-group-id-table* 876)) +(defconstant group-sniper-e-debris (-> *part-group-id-table* 335)) +(defconstant group-casboss-light-big (-> *part-group-id-table* 1214)) +(defconstant group-part-vent-red-inactive (-> *part-group-id-table* 105)) +(defconstant group-forresca-panel-1 (-> *part-group-id-table* 646)) +(defconstant group-ctyslumb-chimney-smoke (-> *part-group-id-table* 877)) +(defconstant group-beach-atoll-daxterpipe-suck (-> *part-group-id-table* 336)) +(defconstant group-casboss-halfcircle-vent (-> *part-group-id-table* 1215)) +(defconstant group-part-vent-yellow-active (-> *part-group-id-table* 106)) +(defconstant group-forresca-panel-2 (-> *part-group-id-table* 647)) +(defconstant group-ctyslumb-sign-baron-8x4 (-> *part-group-id-table* 878)) +(defconstant group-beach-atoll-daxterspout (-> *part-group-id-table* 337)) +(defconstant group-casboss-big-smokestack (-> *part-group-id-table* 1216)) +(defconstant group-part-vent-yellow-inactive (-> *part-group-id-table* 107)) +(defconstant group-forresca-panel-3 (-> *part-group-id-table* 648)) +(defconstant group-ctyslumb-sign-gt2-8x4 (-> *part-group-id-table* 879)) +(defconstant group-atoll-hellcat-thruster (-> *part-group-id-table* 338)) +(defconstant group-eco-yellow (-> *part-group-id-table* 108)) +(defconstant group-cascity-cable-lights (-> *part-group-id-table* 1217)) +(defconstant group-forresca-panel-4 (-> *part-group-id-table* 649)) +(defconstant group-drill-panel-explosion (-> *part-group-id-table* 429)) +(defconstant group-drill-panel-explosion-2 (-> *part-group-id-table* 430)) +(defconstant group-drill-panel-steam (-> *part-group-id-table* 431)) +(defconstant group-drill-panel-spark (-> *part-group-id-table* 432)) +(defconstant group-drill-panel-light-amber (-> *part-group-id-table* 433)) +(defconstant group-drill-panel-light-big-amber (-> *part-group-id-table* 434)) +(defconstant group-drill-panel-light-blue (-> *part-group-id-table* 435)) +(defconstant group-drill-control-panel-debris-1 (-> *part-group-id-table* 436)) +(defconstant group-drill-control-panel-debris-2 (-> *part-group-id-table* 437)) +(defconstant group-drill-control-panel-ab-debris-1 (-> *part-group-id-table* 438)) +(defconstant group-drill-control-panel-ab-debris-2 (-> *part-group-id-table* 439)) +(defconstant group-drill-control-panel-ab-debris-3 (-> *part-group-id-table* 440)) +(defconstant group-drill-control-panel-ab-debris-4 (-> *part-group-id-table* 441)) +(defconstant group-drill-door-smoke (-> *part-group-id-table* 442)) +(defconstant group-drill-engulfing-death (-> *part-group-id-table* 443)) +(defconstant group-drill-bridge-explode (-> *part-group-id-table* 444)) +(defconstant group-drill-medium-chimney-01 (-> *part-group-id-table* 445)) +(defconstant group-drill-medium-chimney-02 (-> *part-group-id-table* 446)) +(defconstant group-drill-big-steam (-> *part-group-id-table* 447)) +(defconstant group-drill-drilling (-> *part-group-id-table* 448)) +(defconstant group-drill-console-01 (-> *part-group-id-table* 449)) +(defconstant group-drill-console-02 (-> *part-group-id-table* 450)) +(defconstant group-drill-switch-red (-> *part-group-id-table* 451)) +(defconstant group-drill-switch-green (-> *part-group-id-table* 452)) +(defconstant group-drill-crane-explosion (-> *part-group-id-table* 453)) +(defconstant group-drill-crane-dust-explosion (-> *part-group-id-table* 454)) +(defconstant group-drill-crane-trailer-small (-> *part-group-id-table* 455)) +(defconstant group-drill-crane-trailer-medium (-> *part-group-id-table* 456)) +(defconstant group-drill-crane-trailer-large (-> *part-group-id-table* 457)) +(defconstant group-turret-warning (-> *part-group-id-table* 458)) +(defconstant group-turret-warning-down (-> *part-group-id-table* 459)) +(defconstant group-turret-warning-side (-> *part-group-id-table* 460)) +(defconstant group-barons-ship-light1 (-> *part-group-id-table* 461)) +(defconstant group-barons-ship-light2 (-> *part-group-id-table* 462)) +(defconstant group-barons-ship-light3 (-> *part-group-id-table* 463)) +(defconstant group-barons-ship-light4 (-> *part-group-id-table* 464)) +(defconstant group-barons-ship-light5 (-> *part-group-id-table* 465)) +(defconstant group-turret-smoke-trail (-> *part-group-id-table* 466)) +(defconstant group-turret-smoke-trail-down (-> *part-group-id-table* 467)) +(defconstant group-turret-smoke-trail-side (-> *part-group-id-table* 468)) +(defconstant group-drill-barons-ship-explosion (-> *part-group-id-table* 469)) +(defconstant group-drill-top-break-smoke (-> *part-group-id-table* 470)) +(defconstant group-drill-top-break-explosion (-> *part-group-id-table* 471)) +(defconstant group-drill-top-break-trailer-large (-> *part-group-id-table* 472)) +(defconstant group-drill-top-break-trailer-medium (-> *part-group-id-table* 473)) +(defconstant group-centurion-shield (-> *part-group-id-table* 474)) +(defconstant group-ginsu-sparks (-> *part-group-id-table* 475)) +(defconstant group-ginsu-blade (-> *part-group-id-table* 476)) +(defconstant group-ctyslumc-streetlight-glows (-> *part-group-id-table* 888)) +(defconstant group-ctyslumc-chimney (-> *part-group-id-table* 889)) +(defconstant group-ctyslumc-chimney-smoke (-> *part-group-id-table* 890)) +(defconstant group-ctyslumc-sign-hiphog-4x4 (-> *part-group-id-table* 891)) +(defconstant group-rhino-slide-poof-pmt (-> *part-group-id-table* 350)) +(defconstant group-ctyslumc-sign-baron-8x4 (-> *part-group-id-table* 892)) +(defconstant group-rhino-slide-poof-grs (-> *part-group-id-table* 351)) +(defconstant group-ctyslumc-sign-future-4x8 (-> *part-group-id-table* 893)) +(defconstant group-aval-rock-hit (-> *part-group-id-table* 352)) +(defconstant group-mtn-lens-light-shaft (-> *part-group-id-table* 353)) +(defconstant group-mountain-lens-res-daxter-tail-smoke (-> *part-group-id-table* 354)) +(defconstant group-mountain-lens-res-daxter-tail-fire (-> *part-group-id-table* 355)) +(defconstant group-mtn-lens-light (-> *part-group-id-table* 356)) +(defconstant group-mtn-plat-buried-rocks-trailer (-> *part-group-id-table* 357)) +(defconstant group-canyon-seal-of-mar-glow (-> *part-group-id-table* 358)) +(defconstant group-mtn-step-plat-rocks-explosion (-> *part-group-id-table* 359)) +(defconstant group-mountain-mtn-shard-glow (-> *part-group-id-table* 360)) +(defconstant group-mountain-gear-dust-plume (-> *part-group-id-table* 361)) +(defconstant group-mountain-waterfall-1 (-> *part-group-id-table* 362)) +(defconstant group-mountain-waterfall-2 (-> *part-group-id-table* 363)) +(defconstant group-mountain-waterfall-3 (-> *part-group-id-table* 364)) +(defconstant group-mountain-waterfall-4 (-> *part-group-id-table* 365)) +(defconstant group-mountain-waterfall-5 (-> *part-group-id-table* 366)) +(defconstant group-mountain-waterfall-6 (-> *part-group-id-table* 367)) +(defconstant group-mountain-waterfall-7 (-> *part-group-id-table* 368)) +(defconstant group-mountain-waterfall-8 (-> *part-group-id-table* 369)) +(defconstant group-mountain-waterfall-9 (-> *part-group-id-table* 370)) +(defconstant group-mountain-waterfall-10 (-> *part-group-id-table* 371)) +(defconstant group-mountain-waterfall-11 (-> *part-group-id-table* 372)) +(defconstant group-mountain-waterfall-12 (-> *part-group-id-table* 373)) +(defconstant group-mountain-waterfall-13 (-> *part-group-id-table* 374)) +(defconstant group-mountain-overdoor-light (-> *part-group-id-table* 375)) +(defconstant group-mountain-small-light (-> *part-group-id-table* 376)) +(defconstant group-mountain-med-light (-> *part-group-id-table* 377)) +(defconstant group-mountain-big-oval-light (-> *part-group-id-table* 378)) +(defconstant group-mountain-huge-green-oval-light (-> *part-group-id-table* 379)) +(defconstant group-mountain-big-green-oval-light (-> *part-group-id-table* 380)) +(defconstant group-mountain-tiny-top-oval-light (-> *part-group-id-table* 381)) +(defconstant group-mountain-bottom-oval-light (-> *part-group-id-table* 382)) +(defconstant group-mountain-energy-rays (-> *part-group-id-table* 383)) +(defconstant group-mountain-cable-lights (-> *part-group-id-table* 384)) +(defconstant group-mountain-stadium-lights (-> *part-group-id-table* 385)) +(defconstant group-rhino-wall-explosion (-> *part-group-id-table* 386)) +(defconstant group-warp-hellcat-thruster (-> *part-group-id-table* 135)) +(defconstant group-intro-meteor-landing-meteor (-> *part-group-id-table* 1244)) +(defconstant group-guard-shot-hit-object (-> *part-group-id-table* 136)) +(defconstant group-intro-meteor-landing-bubble (-> *part-group-id-table* 1245)) +(defconstant group-guard-shot-hit (-> *part-group-id-table* 137)) +(defconstant group-intro-meteor-explosion-meteor (-> *part-group-id-table* 1246)) +(defconstant group-guard-grenade (-> *part-group-id-table* 138)) +(defconstant group-intro-meteor-explosion-ring (-> *part-group-id-table* 1247)) +(defconstant group-under-centipede-three-explosion (-> *part-group-id-table* 516)) +(defconstant group-under-centipede-three-trailer (-> *part-group-id-table* 517)) +(defconstant under-sig-shot-overhead-starflash (-> *part-group-id-table* 518)) +(defconstant group-drill-circle-vent (-> *part-group-id-table* 415)) +(defconstant group-ctyport-sign-hiphog-4x4 (-> *part-group-id-table* 956)) +(defconstant group-drill-big-orange-glow (-> *part-group-id-table* 416)) +(defconstant group-ctyport-sign-blank-4x4 (-> *part-group-id-table* 957)) +(defconstant group-drill-misc-steam (-> *part-group-id-table* 417)) +(defconstant group-ctyport-sign-vert-right-arrow-4x8 (-> *part-group-id-table* 958)) +(defconstant group-drill-lightning-pole (-> *part-group-id-table* 418)) +(defconstant group-ctyport-sign-hiphog-entrance-4x8 (-> *part-group-id-table* 959)) +(defconstant group-drill-lightning-pole-180 (-> *part-group-id-table* 419)) +(defconstant group-ctyport-sign-loading-left-8x4 (-> *part-group-id-table* 960)) +(defconstant group-drill-metalhead-egg-explode (-> *part-group-id-table* 420)) +(defconstant group-ctyport-sign-holding-right-8x4 (-> *part-group-id-table* 961)) +(defconstant group-ctywide-errol-bike-thruster (-> *part-group-id-table* 190)) +(defconstant group-drill-wall-explode (-> *part-group-id-table* 421)) +(defconstant group-ctyport-sign-arrows-8x4 (-> *part-group-id-table* 962)) +(defconstant group-slums-talkbox-speak (-> *part-group-id-table* 191)) +(defconstant group-drill-blue-floor-light (-> *part-group-id-table* 422)) +(defconstant group-ctyport-sign-krew-international-8x4 (-> *part-group-id-table* 963)) +(defconstant group-hideout-bling-bling (-> *part-group-id-table* 192)) +(defconstant group-drill-round-blue-wall-lights-2 (-> *part-group-id-table* 423)) +(defconstant group-ctyport-sign-no-unloading-8x4 (-> *part-group-id-table* 964)) +(defconstant group-hideout-knife-glint (-> *part-group-id-table* 193)) +(defconstant group-drill-round-blue-wall-lights-4 (-> *part-group-id-table* 424)) +(defconstant group-ctyport-hiphog-neon (-> *part-group-id-table* 965)) +(defconstant group-drill-yellow-wall-lights (-> *part-group-id-table* 425)) +(defconstant group-ctyport-hiphog-neon-daxter (-> *part-group-id-table* 966)) +(defconstant group-drill-under-console-1 (-> *part-group-id-table* 426)) +(defconstant group-ctyport-hiphog-marquee (-> *part-group-id-table* 967)) +(defconstant group-drill-control-panel (-> *part-group-id-table* 427)) +(defconstant group-ctyport-hiphog-marquee-daxter (-> *part-group-id-table* 968)) +(defconstant group-drill-control-panel-a (-> *part-group-id-table* 428)) +(defconstant group-farthy-halo (-> *part-group-id-table* 969)) +(defconstant group-forexitb-panel-1 (-> *part-group-id-table* 623)) +(defconstant group-caspad-hanging-light (-> *part-group-id-table* 1164)) +(defconstant group-slide-poof-cwd (-> *part-group-id-table* 55)) +(defconstant group-forexitb-panel-3 (-> *part-group-id-table* 624)) +(defconstant group-caspad-red-flashing-light (-> *part-group-id-table* 1165)) +(defconstant group-dark-eco-death (-> *part-group-id-table* 56)) +(defconstant group-forexitb-overhead-lights (-> *part-group-id-table* 625)) +(defconstant group-caspad-electrical-thing (-> *part-group-id-table* 1166)) +(defconstant group-lava-death (-> *part-group-id-table* 57)) +(defconstant group-drill-fire-floor-heat (-> *part-group-id-table* 398)) +(defconstant group-ctyport-red-big-lights-2 (-> *part-group-id-table* 939)) +(defconstant group-drill-yellow-light-big-round (-> *part-group-id-table* 407)) +(defconstant group-ctyport-blue-big-lights-5 (-> *part-group-id-table* 948)) +(defconstant group-drill-fire-floor-dust (-> *part-group-id-table* 399)) +(defconstant group-ctyport-red-big-lights-3 (-> *part-group-id-table* 940)) +(defconstant group-drill-blue-light-big-round (-> *part-group-id-table* 408)) +(defconstant group-ctyport-blue-big-lights-6 (-> *part-group-id-table* 949)) +(defconstant group-drill-fire-floor-a-heat (-> *part-group-id-table* 400)) +(defconstant group-ctyport-red-big-lights-4 (-> *part-group-id-table* 941)) +(defconstant group-drill-blue-light-double (-> *part-group-id-table* 409)) +(defconstant group-ctyport-red-lights (-> *part-group-id-table* 950)) +(defconstant group-drill-fire-floor-a-dust (-> *part-group-id-table* 401)) +(defconstant group-ctyport-red-big-lights-5 (-> *part-group-id-table* 942)) +(defconstant group-drill-blue-light-corner (-> *part-group-id-table* 410)) +(defconstant group-ctyport-blue-lights (-> *part-group-id-table* 951)) +(defconstant group-drill-orange-light (-> *part-group-id-table* 402)) +(defconstant group-ctyport-red-big-lights-6 (-> *part-group-id-table* 943)) +(defconstant group-drill-yellow-light-long (-> *part-group-id-table* 411)) +(defconstant group-ctyport-long-blue-lights (-> *part-group-id-table* 952)) +(defconstant group-drill-blue-light-single (-> *part-group-id-table* 403)) +(defconstant group-ctyport-blue-big-lights-1 (-> *part-group-id-table* 944)) +(defconstant group-drill-steamjet (-> *part-group-id-table* 412)) +(defconstant group-ctyport-green-lights (-> *part-group-id-table* 953)) +(defconstant group-drill-blue-light-single-small (-> *part-group-id-table* 404)) +(defconstant group-ctyport-blue-big-lights-2 (-> *part-group-id-table* 945)) +(defconstant group-drill-half-circle-vent (-> *part-group-id-table* 413)) +(defconstant group-ctyport-green-lights-2 (-> *part-group-id-table* 954)) +(defconstant group-turret-shot-hit (-> *part-group-id-table* 200)) +(defconstant group-hiphog-red-light (-> *part-group-id-table* 741)) +(defconstant group-strip-small-screen-06 (-> *part-group-id-table* 227)) +(defconstant group-ctywide-burning-bush-holo-on (-> *part-group-id-table* 173)) +(defconstant group-outro-precursor-stone-glow (-> *part-group-id-table* 1282)) +(defconstant group-rift-rider-donut-light-glow (-> *part-group-id-table* 1255)) +(defconstant group-sig-shot-hit (-> *part-group-id-table* 146)) +(defconstant group-turret-explode (-> *part-group-id-table* 201)) +(defconstant group-hiphog-ceiling-light (-> *part-group-id-table* 742)) +(defconstant group-strip-small-screen-07 (-> *part-group-id-table* 228)) +(defconstant group-ctywide-palace-high-fire (-> *part-group-id-table* 174)) +(defconstant group-outro-port-feathers-n-fur-impact (-> *part-group-id-table* 1283)) +(defconstant group-rift-rider-button-yellow-1 (-> *part-group-id-table* 1256)) +(defconstant group-sig-plasma (-> *part-group-id-table* 147)) +(defconstant group-ctyport-roundvent-small (-> *part-group-id-table* 930)) +(defconstant group-crimson-guard-hover-jet-explosion (-> *part-group-id-table* 159)) +(defconstant group-intro-vortex-hit-explosion (-> *part-group-id-table* 1268)) +(defconstant group-ruins-tower-explosion-medium (-> *part-group-id-table* 295)) +(defconstant group-hiphog-booth-ceiling-light (-> *part-group-id-table* 743)) +(defconstant group-strip-small-screen-08 (-> *part-group-id-table* 229)) +(defconstant group-ctyport-blue-floor-vent (-> *part-group-id-table* 936)) +(defconstant group-ctywide-race-poster-extra-small (-> *part-group-id-table* 165)) +(defconstant group-ctyport-firework-red-pop (-> *part-group-id-table* 1274)) +(defconstant group-ruins-tower-trailer-large (-> *part-group-id-table* 301)) +(defconstant group-ctyasha-large-explosion (-> *part-group-id-table* 1063)) +(defconstant group-ctyport-low-vent (-> *part-group-id-table* 931)) +(defconstant group-crimson-guard-hover-explode (-> *part-group-id-table* 160)) +(defconstant group-prison-plat-jet (-> *part-group-id-table* 1269)) +(defconstant group-ruins-tower-explosion-large (-> *part-group-id-table* 296)) +(defconstant group-ctyport-blue-floor-vent-small (-> *part-group-id-table* 937)) +(defconstant group-rift-rider-button-yellow-2 (-> *part-group-id-table* 1257)) +(defconstant group-sig-gun-glow (-> *part-group-id-table* 148)) +(defconstant group-ctywide-misc-citylights-red-1 (-> *part-group-id-table* 175)) +(defconstant group-outro-port-feathers-n-fur (-> *part-group-id-table* 1284)) +(defconstant group-drill-blue-light-single-med (-> *part-group-id-table* 405)) +(defconstant group-ctyport-blue-big-lights-3 (-> *part-group-id-table* 946)) +(defconstant group-ctyasha-explosion (-> *part-group-id-table* 1064)) +(defconstant group-ruins-tower-trailer-small (-> *part-group-id-table* 293)) +(defconstant group-ctyport-waterspout (-> *part-group-id-table* 932)) +(defconstant group-vehicle-explosion (-> *part-group-id-table* 161)) +(defconstant group-intro-machine-white-light-glow (-> *part-group-id-table* 1270)) +(defconstant group-ruins-tower-trailer-medium (-> *part-group-id-table* 297)) +(defconstant group-ctywide-misc-citylights-red-3 (-> *part-group-id-table* 177)) +(defconstant group-title-sign-big-praxis (-> *part-group-id-table* 1286)) +(defconstant group-rift-rider-button-blue-2 (-> *part-group-id-table* 1259)) +(defconstant group-jinx-shot-hit (-> *part-group-id-table* 150)) +(defconstant group-ctyport-red-big-lights-1 (-> *part-group-id-table* 938)) +(defconstant group-rift-rider-button-blue-1 (-> *part-group-id-table* 1258)) +(defconstant group-ashelin-shot-hit (-> *part-group-id-table* 149)) +(defconstant group-ctywide-misc-citylights-red-2 (-> *part-group-id-table* 176)) +(defconstant group-title-sign-naughtydog (-> *part-group-id-table* 1285)) +(defconstant group-drill-blue-light-long (-> *part-group-id-table* 406)) +(defconstant group-ctyport-blue-big-lights-4 (-> *part-group-id-table* 947)) +(defconstant group-ctyasha-smoke-trail (-> *part-group-id-table* 1065)) +(defconstant group-ruins-tower-explosion-small (-> *part-group-id-table* 294)) +(defconstant group-ctyport-chimney (-> *part-group-id-table* 933)) +(defconstant group-vehicle-engine-start (-> *part-group-id-table* 162)) +(defconstant group-intro-prison-restraints-snap (-> *part-group-id-table* 1271)) +(defconstant group-ruins-tower-splash-medium (-> *part-group-id-table* 298)) +(defconstant group-ctywide-misc-citylights-blue-1 (-> *part-group-id-table* 178)) +(defconstant group-title-sign-wanted (-> *part-group-id-table* 1287)) +(defconstant group-time-map-glow (-> *part-group-id-table* 1260)) +(defconstant group-sewer-explode0 (-> *part-group-id-table* 151)) +(defconstant group-ctywide-misc-citylights-blue-2 (-> *part-group-id-table* 179)) +(defconstant group-title-sign-scea (-> *part-group-id-table* 1288)) +(defconstant group-time-map-glow-fx (-> *part-group-id-table* 1261)) +(defconstant group-wasp-shot-hit (-> *part-group-id-table* 152)) +(defconstant group-ctywide-misc-citylights-blue-3 (-> *part-group-id-table* 180)) +(defconstant group-title-plug (-> *part-group-id-table* 1289)) +(defconstant group-heart-of-mar-glow (-> *part-group-id-table* 1262)) +(defconstant group-wasp-shot-die (-> *part-group-id-table* 153)) +(defconstant group-ctywide-cable-lights (-> *part-group-id-table* 181)) +(defconstant group-demo-sign-naughtydog (-> *part-group-id-table* 1290)) +(defconstant group-screen-a-glow (-> *part-group-id-table* 1263)) +(defconstant group-wasp-gun-smoke (-> *part-group-id-table* 154)) +(defconstant group-slums-seal-of-mar-glow (-> *part-group-id-table* 182)) +(defconstant group-demo-sign-big-praxis (-> *part-group-id-table* 1291)) +(defconstant group-screen-b-glow (-> *part-group-id-table* 1264)) +(defconstant group-wasp-gun-casing (-> *part-group-id-table* 155)) +(defconstant group-ctywide-chimney (-> *part-group-id-table* 183)) +(defconstant group-demo-sign-wanted (-> *part-group-id-table* 1292)) +(defconstant group-intro-vortex (-> *part-group-id-table* 1265)) +(defconstant group-wasp-engine (-> *part-group-id-table* 156)) +(defconstant group-under-thin-fire (-> *part-group-id-table* 507)) +(defconstant group-under-long-blue-light (-> *part-group-id-table* 506)) +(defconstant group-ctyasha-dust-explosion (-> *part-group-id-table* 1062)) +(defconstant group-juicer-shot-hit (-> *part-group-id-table* 1061)) +(defconstant group-ctywide-jak-bike-thruster (-> *part-group-id-table* 189)) +(defconstant group-beer-drip (-> *part-group-id-table* 188)) +(defconstant group-daxter-spit (-> *part-group-id-table* 187)) +(defconstant group-cty-guard-turret-hit (-> *part-group-id-table* 186)) +(defconstant group-ctywide-fruit (-> *part-group-id-table* 185)) +(defconstant group-demo-plug (-> *part-group-id-table* 1294)) +(defconstant group-intro-dust-big (-> *part-group-id-table* 1267)) +(defconstant group-crimson-guard-hover-explosion (-> *part-group-id-table* 158)) +(defconstant group-ctyport-drip (-> *part-group-id-table* 935)) +(defconstant group-ruins-tower-splash-small (-> *part-group-id-table* 300)) +(defconstant group-ctyport-chimney-smoke (-> *part-group-id-table* 934)) +(defconstant group-ruins-tower-splash-large (-> *part-group-id-table* 299)) +(defconstant group-ctyport-roundvent (-> *part-group-id-table* 929)) +(defconstant group-drill-half-circle-vent-small (-> *part-group-id-table* 414)) +(defconstant group-ctyport-sign-crimson-4x8 (-> *part-group-id-table* 955)) +(defconstant group-intro-dust (-> *part-group-id-table* 1266)) +(defconstant group-wasp-explosion (-> *part-group-id-table* 157)) +(defconstant group-ctywide-chimney-smoke (-> *part-group-id-table* 184)) +(defconstant group-demo-sign-scea (-> *part-group-id-table* 1293)) +(defconstant group-under-centipede-two-trailer (-> *part-group-id-table* 515)) +(defconstant group-under-centipede-two-explosion (-> *part-group-id-table* 514)) +(defconstant group-under-centipede-one-trailer (-> *part-group-id-table* 513)) +(defconstant group-under-centipede-one-explosion (-> *part-group-id-table* 512)) +(defconstant group-kiosk-neon-sign (-> *part-group-id-table* 1052)) +(defconstant group-under-explosion-trailer (-> *part-group-id-table* 511)) +(defconstant group-kiosk-chimney (-> *part-group-id-table* 1051)) +(defconstant group-under-explosion (-> *part-group-id-table* 510)) +(defconstant group-under-break-ceiling (-> *part-group-id-table* 509)) +(defconstant group-under-hanging-fire (-> *part-group-id-table* 508)) +(defconstant group-under-heavy-drip (-> *part-group-id-table* 505)) +(defconstant group-ctypal-vertical-vent (-> *part-group-id-table* 1046)) +(defconstant group-oracle-candle-smoke (-> *part-group-id-table* 816)) +(defconstant group-vinroom-red-wall-lights-small (-> *part-group-id-table* 275)) +(defconstant group-under-bubble-streams-windows (-> *part-group-id-table* 504)) +(defconstant group-ctypal-ground-vent-base (-> *part-group-id-table* 1045)) +(defconstant group-oracle-candle (-> *part-group-id-table* 815)) +(defconstant group-vinroom-red-wall-lights (-> *part-group-id-table* 274)) +(defconstant group-under-bubble-streams-no-bottom (-> *part-group-id-table* 503)) +(defconstant group-ctypal-wall-light (-> *part-group-id-table* 1044)) +(defconstant group-vinroom-console-top-panel (-> *part-group-id-table* 273)) +(defconstant group-under-bubble-streams (-> *part-group-id-table* 502)) +(defconstant group-ctypal-streetlight (-> *part-group-id-table* 1043)) +(defconstant group-vinroom-console-orb (-> *part-group-id-table* 272)) +(defconstant group-under-mine-explode (-> *part-group-id-table* 501)) +(defconstant group-ctypal-fountain-short (-> *part-group-id-table* 1042)) +(defconstant group-vinroom-console-blue-light-8 (-> *part-group-id-table* 271)) +(defconstant group-bubbler-streams (-> *part-group-id-table* 500)) +(defconstant group-ctypal-fountain (-> *part-group-id-table* 1041)) +(defconstant group-vinroom-console-blue-light-7 (-> *part-group-id-table* 270)) +(defconstant group-under-locking-drain (-> *part-group-id-table* 499)) +(defconstant group-ctypal-waterfall (-> *part-group-id-table* 1040)) +(defconstant group-vinroom-console-blue-light-6 (-> *part-group-id-table* 269)) +(defconstant group-under-locking-fill (-> *part-group-id-table* 498)) +(defconstant group-ctypal-flamepot-waterspout-palace (-> *part-group-id-table* 1039)) +(defconstant group-vinroom-console-blue-light-5 (-> *part-group-id-table* 268)) +(defconstant group-shoot-block-explode (-> *part-group-id-table* 497)) +(defconstant group-ctypal-flamepot-waterspout (-> *part-group-id-table* 1038)) +(defconstant group-vinroom-console-blue-light-4 (-> *part-group-id-table* 267)) +(defconstant group-ctypal-flamepot (-> *part-group-id-table* 1037)) +(defconstant group-ruins-tower-splash (-> *part-group-id-table* 292)) +(defconstant group-praxis-neon-back (-> *part-group-id-table* 833)) +(defconstant group-ruins-tower-trailer (-> *part-group-id-table* 291)) +(defconstant group-praxis-neon (-> *part-group-id-table* 832)) +(defconstant group-pillar-collapse-explosion (-> *part-group-id-table* 290)) +(defconstant group-ctygena-ticker-vertical (-> *part-group-id-table* 831)) +(defconstant group-ruins-birds (-> *part-group-id-table* 289)) +(defconstant group-ctygena-ticker-horizontal (-> *part-group-id-table* 830)) +(defconstant group-ruins-brick-dust-slide (-> *part-group-id-table* 288)) +(defconstant group-ctygena-ground-vent-base (-> *part-group-id-table* 829)) +(defconstant group-ruins-brick-dust-wall (-> *part-group-id-table* 287)) +(defconstant group-ctygena-sign-4x4 (-> *part-group-id-table* 828)) +(defconstant group-ruins-brick-dust-floor (-> *part-group-id-table* 286)) +(defconstant group-ctygena-sign-4x8 (-> *part-group-id-table* 827)) +(defconstant group-ruins-dirt-collapse (-> *part-group-id-table* 285)) +(defconstant group-ctygena-sign-8x4 (-> *part-group-id-table* 826)) +(defconstant group-ruins-streetlight-glows (-> *part-group-id-table* 284)) +(defconstant group-ctygena-vertical-vent (-> *part-group-id-table* 825)) +(defconstant group-ruins-talkbox-speak (-> *part-group-id-table* 283)) +(defconstant group-ctygena-sign-ratchet (-> *part-group-id-table* 824)) +(defconstant group-tower-test (-> *part-group-id-table* 282)) +(defconstant group-ctygena-under-bridge-light (-> *part-group-id-table* 823)) +(defconstant group-ruins-slide-sparks (-> *part-group-id-table* 281)) +(defconstant group-ctygena-wall-light (-> *part-group-id-table* 822)) +(defconstant group-ctygena-streetlight (-> *part-group-id-table* 821)) +(defconstant vin-shot (-> *part-group-id-table* 280)) +(defconstant group-oracle-mouth-beam (-> *part-group-id-table* 820)) +(defconstant group-plasmitebomb-armed (-> *part-group-id-table* 279)) +(defconstant group-oracle-glows (-> *part-group-id-table* 819)) +(defconstant group-pow-mov-plat-propulsion (-> *part-group-id-table* 278)) +(defconstant group-oracle-overhead-light (-> *part-group-id-table* 818)) +(defconstant group-dog-piss (-> *part-group-id-table* 277)) +(defconstant group-oracle-candle-out (-> *part-group-id-table* 817)) +(defconstant group-dog-piss-puddle (-> *part-group-id-table* 276)) +(defconstant group-strip-small-screen-05 (-> *part-group-id-table* 226)) +(defconstant group-ctywide-burning-bush-holo-red (-> *part-group-id-table* 172)) +(defconstant group-outro-onin-finger-effect (-> *part-group-id-table* 1281)) +(defconstant group-rift-rider-donut-nipple-glow (-> *part-group-id-table* 1254)) +(defconstant group-flitter-birth (-> *part-group-id-table* 145)) +(defconstant group-strip-small-screen-04 (-> *part-group-id-table* 225)) +(defconstant group-ctywide-burning-bush-holo-off (-> *part-group-id-table* 171)) +(defconstant group-outro-onin-finger-blast (-> *part-group-id-table* 1280)) +(defconstant group-rift-rider-donut-antenna-glow (-> *part-group-id-table* 1253)) +(defconstant group-flitter-dust-puff (-> *part-group-id-table* 144)) +(defconstant group-strip-small-screen-03 (-> *part-group-id-table* 224)) +(defconstant group-ctywide-baron-propoganda-holo (-> *part-group-id-table* 170)) +(defconstant group-outro-magic-birth2 (-> *part-group-id-table* 1279)) +(defconstant group-intro-rift-gate-on (-> *part-group-id-table* 1252)) +(defconstant group-metalhead-grenade-shot (-> *part-group-id-table* 143)) +(defconstant group-hiphog-time-map-glow-fx (-> *part-group-id-table* 764)) +(defconstant group-strip-small-screen-02 (-> *part-group-id-table* 223)) +(defconstant group-ctywide-stadium-light (-> *part-group-id-table* 169)) +(defconstant group-outro-magic-birth (-> *part-group-id-table* 1278)) +(defconstant group-intro-rift-gate-off (-> *part-group-id-table* 1251)) +(defconstant group-metalhead-shot-die (-> *part-group-id-table* 142)) +(defconstant group-hiphog-time-map-glow (-> *part-group-id-table* 763)) +(defconstant group-strip-small-screen-01 (-> *part-group-id-table* 222)) +(defconstant group-ctywide-race-poster-large (-> *part-group-id-table* 168)) +(defconstant group-outro-rift-ring (-> *part-group-id-table* 1277)) +(defconstant group-intro-meteor-explosion-stays (-> *part-group-id-table* 1250)) +(defconstant group-metalhead-shot-hit (-> *part-group-id-table* 141)) +(defconstant group-hiphog-krew-light (-> *part-group-id-table* 762)) +(defconstant group-strip-ecowells-victory-debris (-> *part-group-id-table* 221)) +(defconstant group-ctywide-race-poster-medium (-> *part-group-id-table* 167)) +(defconstant group-outro-precursor-entity (-> *part-group-id-table* 1276)) +(defconstant group-intro-meteor-explosion-pang (-> *part-group-id-table* 1249)) +(defconstant part-crimson-lightning-glow (-> *part-group-id-table* 140)) +(defconstant group-hiphog-sig-gun-glow (-> *part-group-id-table* 761)) +(defconstant group-strip-ecowells-victory-flash (-> *part-group-id-table* 220)) +(defconstant group-ctywide-race-poster-small (-> *part-group-id-table* 166)) +(defconstant group-ctyport-firework-pop (-> *part-group-id-table* 1275)) +(defconstant group-intro-meteor-explosion-circle (-> *part-group-id-table* 1248)) +(defconstant group-guard-shot-die (-> *part-group-id-table* 139)) +(defconstant group-whack-gun-smoke (-> *part-group-id-table* 760)) +(defconstant group-strip-ecowell-explosion (-> *part-group-id-table* 219)) +(defconstant group-whack-gun-yellow-shot-fired (-> *part-group-id-table* 759)) +(defconstant group-lightning-silo-tip (-> *part-group-id-table* 218)) +(defconstant group-krew-spit (-> *part-group-id-table* 758)) +(defconstant group-grenade-point-dead (-> *part-group-id-table* 217)) +(defconstant group-hiphog-mirror (-> *part-group-id-table* 757)) +(defconstant group-grenade-point-hit (-> *part-group-id-table* 216)) +(defconstant group-hiphog-neon-clock-small (-> *part-group-id-table* 756)) +(defconstant group-grenade-point (-> *part-group-id-table* 215)) +(defconstant group-hiphog-neon-clock (-> *part-group-id-table* 755)) +(defconstant group-strip-pitspikes-dust (-> *part-group-id-table* 214)) +(defconstant group-hiphog-neon-hip-small (-> *part-group-id-table* 754)) +(defconstant group-strip-curtain-saw-dust (-> *part-group-id-table* 213)) +(defconstant group-hiphog-neon-hip (-> *part-group-id-table* 753)) +(defconstant group-fencespikes-sparks-11 (-> *part-group-id-table* 212)) +(defconstant group-hiphog-neon-hip-daxter (-> *part-group-id-table* 752)) +(defconstant group-fencespikes-sparks-10 (-> *part-group-id-table* 211)) +(defconstant group-hiphog-neon-morgan-small (-> *part-group-id-table* 751)) +(defconstant group-fencespikes-sparks-9 (-> *part-group-id-table* 210)) +(defconstant group-hiphog-neon-morgan (-> *part-group-id-table* 750)) +(defconstant group-fencespikes-sparks-3 (-> *part-group-id-table* 209)) +(defconstant group-hiphog-neon-hiphog-daxter (-> *part-group-id-table* 749)) +(defconstant group-strip-smokestack (-> *part-group-id-table* 208)) +(defconstant group-hiphog-neon-hiphog (-> *part-group-id-table* 748)) +(defconstant group-strip-tall-wall-glows (-> *part-group-id-table* 207)) +(defconstant group-hiphog-floor-light (-> *part-group-id-table* 747)) +(defconstant group-strip-yellow-glows (-> *part-group-id-table* 206)) +(defconstant group-hiphog-booth-table-light (-> *part-group-id-table* 746)) +(defconstant group-strip-red-glows (-> *part-group-id-table* 205)) +(defconstant group-hiphog-bar-light (-> *part-group-id-table* 745)) +(defconstant group-strip-red-distant-glows (-> *part-group-id-table* 204)) +(defconstant group-hiphog-booth-wall-light (-> *part-group-id-table* 744)) +(defconstant group-strip-streetlight-glows (-> *part-group-id-table* 203)) +(defconstant group-kiosk-fire (-> *part-group-id-table* 1048)) +(defconstant group-slide-poof-san (-> *part-group-id-table* 47)) +(defconstant group-dig-digger-trailer-medium (-> *part-group-id-table* 1156)) +(defconstant group-atoll-pipe-drip (-> *part-group-id-table* 304)) +(defconstant group-just-footprint-drt (-> *part-group-id-table* 46)) +(defconstant group-dig-digger-trailer-small (-> *part-group-id-table* 1155)) +(defconstant group-atoll-streetlight (-> *part-group-id-table* 303)) +(defconstant group-just-poof-drt (-> *part-group-id-table* 45)) +(defconstant group-dig-digger-explode (-> *part-group-id-table* 1154)) +(defconstant group-atoll-seal-of-mar (-> *part-group-id-table* 302)) +(defconstant group-run-poof-drt (-> *part-group-id-table* 44)) +(defconstant group-dig-hanging-light (-> *part-group-id-table* 1153)) +(defconstant group-moon (-> *part-group-id-table* 5)) +(defconstant group-palace-boss-end-explosion (-> *part-group-id-table* 1114)) +(defconstant group-grenade-armed (-> *part-group-id-table* 235)) +(defconstant group-hideout-mouth (-> *part-group-id-table* 776)) +(defconstant group-green-sun (-> *part-group-id-table* 4)) +(defconstant group-palace-boss-end-trailer-large (-> *part-group-id-table* 1113)) +(defconstant group-strip-drop-splash (-> *part-group-id-table* 234)) +(defconstant group-hideout-pipe (-> *part-group-id-table* 775)) +(defconstant group-sun (-> *part-group-id-table* 3)) +(defconstant group-palace-boss-end-trailer-medium (-> *part-group-id-table* 1112)) +(defconstant group-strip-stadium-lights (-> *part-group-id-table* 233)) +(defconstant group-hide-ceilingsmoke (-> *part-group-id-table* 774)) +(defconstant group-stars (-> *part-group-id-table* 2)) +(defconstant group-pal-prong-energy (-> *part-group-id-table* 1111)) +(defconstant group-strip-cable-lights (-> *part-group-id-table* 232)) +(defconstant group-hide-fireplace-sparks (-> *part-group-id-table* 773)) +(defconstant group-rain-screend-drop-real (-> *part-group-id-table* 1)) +(defconstant group-palroof-lightning-pole-off (-> *part-group-id-table* 1110)) +(defconstant group-strip-vinroom-red-glows (-> *part-group-id-table* 231)) +(defconstant group-hide-moth (-> *part-group-id-table* 772)) +(defconstant group-slide-poof-stn (-> *part-group-id-table* 50)) +(defconstant group-dig-lava-glow-wall (-> *part-group-id-table* 1159)) +(defconstant group-atoll-smallvent (-> *part-group-id-table* 307)) +(defconstant group-target-hit (-> *part-group-id-table* 9)) +(defconstant group-squid-thruster (-> *part-group-id-table* 1118)) +(defconstant group-slide-poof-grs (-> *part-group-id-table* 49)) +(defconstant group-dig-lava-glow-floor (-> *part-group-id-table* 1158)) +(defconstant group-atoll-bigvent (-> *part-group-id-table* 306)) +(defconstant group-dark-eco-box-explosion (-> *part-group-id-table* 126)) +(defconstant group-nestb-force-field-upclose-2 (-> *part-group-id-table* 1235)) +(defconstant group-gun-dark-shot-trail (-> *part-group-id-table* 72)) +(defconstant group-kor-break-trailer (-> *part-group-id-table* 1181)) +(defconstant group-swamp-launcher (-> *part-group-id-table* 8)) +(defconstant group-squid-break-smoke (-> *part-group-id-table* 1117)) +(defconstant group-slide-poof-drt (-> *part-group-id-table* 48)) +(defconstant group-dig-digger-trailer-large (-> *part-group-id-table* 1157)) +(defconstant group-atoll-birds-01 (-> *part-group-id-table* 305)) +(defconstant group-crate-steel-explode (-> *part-group-id-table* 125)) +(defconstant group-nestb-force-field-upclose (-> *part-group-id-table* 1234)) +(defconstant group-jak-peacemaker-shot-hit (-> *part-group-id-table* 71)) +(defconstant group-consite-kor-energy (-> *part-group-id-table* 1180)) +(defconstant group-jungle-launcher (-> *part-group-id-table* 7)) +(defconstant group-squid-damaged-sparks (-> *part-group-id-table* 1116)) +(defconstant group-atoll-spray-check-userdata-1-1 (-> *part-group-id-table* 311)) +(defconstant group-atoll-spray (-> *part-group-id-table* 308)) +(defconstant group-slide-poof-pmt (-> *part-group-id-table* 51)) +(defconstant group-dig-big-lava-glow (-> *part-group-id-table* 1160)) +(defconstant group-land-poof-san (-> *part-group-id-table* 13)) +(defconstant group-squid-whirlwind-fire (-> *part-group-id-table* 1122)) +(defconstant group-spin-hit (-> *part-group-id-table* 10)) +(defconstant group-squid-marker (-> *part-group-id-table* 1119)) +(defconstant group-atoll-spray-small (-> *part-group-id-table* 310)) +(defconstant group-smack-surface (-> *part-group-id-table* 12)) +(defconstant group-squid-grenade-explode (-> *part-group-id-table* 1121)) +(defconstant group-crate-explode (-> *part-group-id-table* 124)) +(defconstant group-nestb-force-field (-> *part-group-id-table* 1233)) +(defconstant group-gun-dark-shot-fired (-> *part-group-id-table* 70)) +(defconstant group-consite-baron-sword (-> *part-group-id-table* 1179)) +(defconstant group-dig-seal-pull-out-dust (-> *part-group-id-table* 1152)) +(defconstant group-just-footprint-san (-> *part-group-id-table* 43)) +(defconstant group-beach-launcher (-> *part-group-id-table* 6)) +(defconstant group-movie-squid-thruster (-> *part-group-id-table* 1115)) +(defconstant group-grenade-hit (-> *part-group-id-table* 236)) +(defconstant group-hideout-mud-drip (-> *part-group-id-table* 777)) +(defconstant group-atoll-stadium-lights (-> *part-group-id-table* 317)) +(defconstant group-land-poof-pmt (-> *part-group-id-table* 22)) +(defconstant group-pal-grind-ring-energy (-> *part-group-id-table* 1131)) +(defconstant group-kiosk-boiling-fish (-> *part-group-id-table* 1050)) +(defconstant group-atoll-cable-lights (-> *part-group-id-table* 316)) +(defconstant group-burn-death (-> *part-group-id-table* 59)) +(defconstant group-consite-tower-red-light (-> *part-group-id-table* 1168)) +(defconstant group-land-poof-stn (-> *part-group-id-table* 21)) +(defconstant group-palent-yellow-up-light (-> *part-group-id-table* 1130)) +(defconstant group-kiosk-hotpot (-> *part-group-id-table* 1049)) +(defconstant group-atoll-spray-check-userdata-13 (-> *part-group-id-table* 315)) +(defconstant group-explode-death (-> *part-group-id-table* 58)) +(defconstant group-consite-spotlight (-> *part-group-id-table* 1167)) +(defconstant group-atoll-spray-check-userdata-8 (-> *part-group-id-table* 314)) +(defconstant group-land-poof-cwd (-> *part-group-id-table* 19)) +(defconstant group-sew-gunturret-casing (-> *part-group-id-table* 1128)) +(defconstant group-kiosk-steamescape (-> *part-group-id-table* 1047)) +(defconstant group-atoll-spray-check-userdata-7 (-> *part-group-id-table* 313)) +(defconstant group-land-poof-wod (-> *part-group-id-table* 18)) +(defconstant group-sew-gunturret-smoke (-> *part-group-id-table* 1127)) +(defconstant group-atoll-spray-check-userdata-1-4 (-> *part-group-id-table* 312)) +(defconstant group-land-poof-grs (-> *part-group-id-table* 17)) +(defconstant group-sew-gunturret-hit (-> *part-group-id-table* 1126)) +(defconstant group-land-poof-ice (-> *part-group-id-table* 16)) +(defconstant group-squid-shot-hit (-> *part-group-id-table* 1125)) +(defconstant group-land-poof-snw (-> *part-group-id-table* 15)) +(defconstant group-squid-damage (-> *part-group-id-table* 1124)) +(defconstant group-atoll-spray-check-water (-> *part-group-id-table* 309)) +(defconstant group-land-poof-drt (-> *part-group-id-table* 14)) +(defconstant group-squid-whirlwind-explode (-> *part-group-id-table* 1123)) +(defconstant group-punch-hit (-> *part-group-id-table* 11)) +(defconstant group-squid-grenade-trail (-> *part-group-id-table* 1120)) +(defconstant group-run-poof-stn (-> *part-group-id-table* 25)) +(defconstant group-throne-side-window-small (-> *part-group-id-table* 1134)) +(defconstant group-just-poof-stn (-> *part-group-id-table* 26)) +(defconstant group-throne-center-window (-> *part-group-id-table* 1135)) +(defconstant group-run-poof-snw (-> *part-group-id-table* 27)) +(defconstant group-throne-top-flat-window (-> *part-group-id-table* 1136)) +(defconstant group-just-poof-snw (-> *part-group-id-table* 28)) +(defconstant group-throne-mid-flat-window (-> *part-group-id-table* 1137)) +(defconstant group-just-footprint-snw (-> *part-group-id-table* 29)) +(defconstant group-throne-diag-window (-> *part-group-id-table* 1138)) +(defconstant group-run-poof-ice (-> *part-group-id-table* 30)) +(defconstant group-palroof-snot (-> *part-group-id-table* 1139)) +(defconstant group-just-poof-ice (-> *part-group-id-table* 31)) +(defconstant group-palroof-rain0 (-> *part-group-id-table* 1140)) +(defconstant group-run-poof-cwd (-> *part-group-id-table* 32)) +(defconstant group-palroof-rain1 (-> *part-group-id-table* 1141)) +(defconstant group-just-poof-cwd (-> *part-group-id-table* 33)) +(defconstant group-dig-clasp-break (-> *part-group-id-table* 1142)) +(defconstant group-run-poof-wod (-> *part-group-id-table* 34)) +(defconstant group-dig-digger-smoke (-> *part-group-id-table* 1143)) +(defconstant group-just-poof-wod (-> *part-group-id-table* 35)) +(defconstant group-dig-digger-digging (-> *part-group-id-table* 1144)) +(defconstant group-run-poof-pmt (-> *part-group-id-table* 36)) +(defconstant group-dig-log (-> *part-group-id-table* 1145)) +(defconstant group-just-poof-pmt (-> *part-group-id-table* 37)) +(defconstant group-dig-cylinder-hit (-> *part-group-id-table* 1146)) +(defconstant group-just-poof-grs (-> *part-group-id-table* 39)) +(defconstant group-dig-spikey-sphere-bounce (-> *part-group-id-table* 1148)) +(defconstant group-just-footprint-grs (-> *part-group-id-table* 40)) +(defconstant group-dig-spikey-sphere-break (-> *part-group-id-table* 1149)) +(defconstant group-run-poof-san (-> *part-group-id-table* 41)) +(defconstant group-grenadier-drip (-> *part-group-id-table* 1150)) +(defconstant group-just-poof-san (-> *part-group-id-table* 42)) +(defconstant group-dig-seal-of-mar-glow (-> *part-group-id-table* 1151)) +(defconstant group-forresca-blue-large-lights (-> *part-group-id-table* 650)) +(defconstant group-eco-yellow-collect (-> *part-group-id-table* 109)) +(defconstant group-cascity-stadium-lights (-> *part-group-id-table* 1218)) +(defconstant group-atoll-palmpilot-glow (-> *part-group-id-table* 339)) +(defconstant group-ctyslumb-sign-crimson-4x8 (-> *part-group-id-table* 880)) +(defconstant group-forresca-red-lights (-> *part-group-id-table* 651)) +(defconstant group-part-vent-green-active (-> *part-group-id-table* 110)) +(defconstant group-cascity-mountain-glows (-> *part-group-id-table* 1219)) +(defconstant group-ctyslumb-sign-future-4x8 (-> *part-group-id-table* 881)) +(defconstant group-forresca-yellow-lights (-> *part-group-id-table* 652)) +(defconstant group-fuel-cell-starburst (-> *part-group-id-table* 111)) +(defconstant group-cascity-strip-glows (-> *part-group-id-table* 1220)) +(defconstant group-ctyslumb-sign-happy-pirate-4x4 (-> *part-group-id-table* 882)) +(defconstant group-forresca-lightning-pole (-> *part-group-id-table* 653)) +(defconstant group-money-starburst (-> *part-group-id-table* 112)) +(defconstant group-mantis-dust-puff (-> *part-group-id-table* 1221)) +(defconstant group-ctyslumb-sign-hiphog-4x4 (-> *part-group-id-table* 883)) +(defconstant group-forresca-lightning-pole-off (-> *part-group-id-table* 654)) +(defconstant group-buzzer-effect (-> *part-group-id-table* 113)) +(defconstant group-mantis-birth-nest (-> *part-group-id-table* 1222)) +(defconstant group-ctyslumb-sign-blank-4x4 (-> *part-group-id-table* 884)) +(defconstant group-blue-collect (-> *part-group-id-table* 114)) +(defconstant group-canyon-lightning-thingy-charge (-> *part-group-id-table* 1223)) +(defconstant group-ctyslumb-steamescape (-> *part-group-id-table* 885)) +(defconstant group-lightning-glow (-> *part-group-id-table* 60)) +(defconstant group-consite-arch-light (-> *part-group-id-table* 1169)) +(defconstant group-yellow-collect (-> *part-group-id-table* 115)) +(defconstant group-nest-gun-core (-> *part-group-id-table* 1224)) +(defconstant group-ctyslumb-spray (-> *part-group-id-table* 886)) +(defconstant group-lightning-green-glow (-> *part-group-id-table* 61)) +(defconstant group-consite-crane-fx (-> *part-group-id-table* 1170)) +(defconstant group-red-collect (-> *part-group-id-table* 116)) +(defconstant group-nest-break-rocks-chargeup (-> *part-group-id-table* 1225)) +(defconstant group-ctyslumb-spray-check-userdata-8 (-> *part-group-id-table* 887)) +(defconstant group-lightning-red-glow (-> *part-group-id-table* 62)) +(defconstant group-consite-orange-skybox (-> *part-group-id-table* 1171)) +(defconstant group-board-land-straight (-> *part-group-id-table* 119)) +(defconstant group-nest-break-rocks-billow (-> *part-group-id-table* 1228)) +(defconstant group-board-quick-jump (-> *part-group-id-table* 120)) +(defconstant group-nest-precursor-stone-glow (-> *part-group-id-table* 1229)) +(defconstant group-gun-red-shot-fired (-> *part-group-id-table* 66)) +(defconstant group-consite-scaffold-break-explosion (-> *part-group-id-table* 1175)) +(defconstant group-target-board (-> *part-group-id-table* 118)) +(defconstant group-nest-break-rocks-trailer (-> *part-group-id-table* 1227)) +(defconstant group-darkjak-transform (-> *part-group-id-table* 64)) +(defconstant group-consite-small-pipe-steam (-> *part-group-id-table* 1173)) +(defconstant group-board-spin-attack (-> *part-group-id-table* 117)) +(defconstant group-nest-break-rocks-explosion (-> *part-group-id-table* 1226)) +(defconstant group-darkjak-bomb (-> *part-group-id-table* 63)) +(defconstant group-consite-orange-skybox-corner (-> *part-group-id-table* 1172)) +(defconstant group-part-water-splash (-> *part-group-id-table* 121)) +(defconstant group-nest-palmpilot-glow (-> *part-group-id-table* 1230)) +(defconstant group-gun-red-shot-reload (-> *part-group-id-table* 67)) +(defconstant group-consite-scaffold-break-trailer (-> *part-group-id-table* 1176)) +(defconstant group-part-water-splash-small (-> *part-group-id-table* 122)) +(defconstant group-nest-metalhead-plant-glow (-> *part-group-id-table* 1231)) +(defconstant group-gun-blue-shot-hit (-> *part-group-id-table* 68)) +(defconstant group-consite-scaffold-dust-plume (-> *part-group-id-table* 1177)) +(defconstant group-blue-hit-ground-effect (-> *part-group-id-table* 123)) +(defconstant group-metalkor-shot-anticipate (-> *part-group-id-table* 1232)) +(defconstant group-gun-blue-shot-die (-> *part-group-id-table* 69)) +(defconstant group-consite-land-sand (-> *part-group-id-table* 1178)) +(defconstant group-part-tester (-> *part-group-id-table* 127)) +(defconstant group-nestb-rift-ring (-> *part-group-id-table* 1236)) +(defconstant group-gun-yellow-shot-hit (-> *part-group-id-table* 73)) +(defconstant group-consite-precursor-stone-glow (-> *part-group-id-table* 1182)) +(defconstant group-dark-eco-nasty (-> *part-group-id-table* 128)) +(defconstant group-metalkor-explode-trailer (-> *part-group-id-table* 1237)) +(defconstant group-gun-yellow-shot-hit-object (-> *part-group-id-table* 74)) +(defconstant group-consite-metalkor-shot-anticipate (-> *part-group-id-table* 1183)) +(defconstant group-dark-eco-pool-nasty (-> *part-group-id-table* 129)) +(defconstant group-metalkor-explode (-> *part-group-id-table* 1238)) +(defconstant group-gun-yellow-shot-die (-> *part-group-id-table* 75)) +(defconstant group-consiteb-hanging-light (-> *part-group-id-table* 1184)) +(defconstant group-warpgate (-> *part-group-id-table* 130)) +(defconstant group-nest-break-precipice-explosion (-> *part-group-id-table* 1239)) +(defconstant group-gun-dark-shot-hit (-> *part-group-id-table* 76)) +(defconstant group-consiteb-panel-red-light (-> *part-group-id-table* 1185)) +(defconstant group-airtrain-dust-plume (-> *part-group-id-table* 131)) +(defconstant group-nest-break-precipice-trailer (-> *part-group-id-table* 1240)) +(defconstant group-talkbox-speak (-> *part-group-id-table* 77)) +(defconstant group-consiteb-panel-blue-light (-> *part-group-id-table* 1186)) +(defconstant group-airtrain-dust-hover (-> *part-group-id-table* 132)) +(defconstant group-nest-break-precipice-billow (-> *part-group-id-table* 1241)) +(defconstant group-rod-of-god (-> *part-group-id-table* 78)) +(defconstant group-castle-hanging-lights (-> *part-group-id-table* 1187)) +(defconstant group-airtrain-thruster (-> *part-group-id-table* 133)) +(defconstant group-nestb-precursor-stone-glow (-> *part-group-id-table* 1242)) +(defconstant group-airtrain-thruster-off (-> *part-group-id-table* 134)) +(defconstant group-nest-metalkor-shot-anticipate (-> *part-group-id-table* 1243)) +(defconstant group-race-signal-red-light-3 (-> *part-group-id-table* 194)) +(defconstant group-race-signal-red-light-2 (-> *part-group-id-table* 195)) +(defconstant group-race-signal-red-light-1 (-> *part-group-id-table* 196)) +(defconstant group-race-signal-green-light (-> *part-group-id-table* 197)) +(defconstant group-turbo-pickup (-> *part-group-id-table* 198)) +(defconstant group-turbo-pickup-explode (-> *part-group-id-table* 199)) +(defconstant group-race-bike-explode (-> *part-group-id-table* 928)) +(defconstant group-forest-cattails (-> *part-group-id-table* 477)) +(defconstant group-forest-waterfall-1 (-> *part-group-id-table* 478)) +(defconstant group-forest-waterfall-2 (-> *part-group-id-table* 479)) +(defconstant group-forest-waterfall-3 (-> *part-group-id-table* 480)) +(defconstant group-forest-waterfall-4 (-> *part-group-id-table* 481)) +(defconstant group-forest-waterfall-5 (-> *part-group-id-table* 482)) +(defconstant group-forest-waterfall-6 (-> *part-group-id-table* 483)) +(defconstant group-farm-marrow-explode (-> *part-group-id-table* 1025)) +(defconstant group-forest-waterfall-8 (-> *part-group-id-table* 484)) +(defconstant group-farm-beetree-explode (-> *part-group-id-table* 1026)) +(defconstant group-forest-waterfall-7 (-> *part-group-id-table* 485)) +(defconstant group-farm-cabbage-explode (-> *part-group-id-table* 1027)) +(defconstant group-forest-butterflies-2 (-> *part-group-id-table* 486)) +(defconstant group-farm-small-cabbage-explode (-> *part-group-id-table* 1028)) +(defconstant group-forest-butterflies-3 (-> *part-group-id-table* 487)) +(defconstant group-farm-chilirots-explode (-> *part-group-id-table* 1029)) +(defconstant group-forest-butterflies-1 (-> *part-group-id-table* 488)) +(defconstant group-farm-sprinkler-barrels-water (-> *part-group-id-table* 1030)) +(defconstant group-forest-butterfly-sitting-1 (-> *part-group-id-table* 489)) +(defconstant group-ctyfarma-light (-> *part-group-id-table* 1031)) +(defconstant group-forest-butterfly-sitting-2 (-> *part-group-id-table* 490)) +(defconstant group-ctyfarma-drip-1 (-> *part-group-id-table* 1032)) +(defconstant group-forest-butterfly-sitting-3 (-> *part-group-id-table* 491)) +(defconstant group-ctyfarma-wall-bubbles (-> *part-group-id-table* 1033)) +(defconstant group-forest-butterfly-sitting-4 (-> *part-group-id-table* 492)) +(defconstant group-ctyfarmb-light (-> *part-group-id-table* 1034)) +(defconstant group-forest-fireflies (-> *part-group-id-table* 493)) +(defconstant group-ctyfarmb-drip-1 (-> *part-group-id-table* 1035)) +(defconstant group-youngsamos-float (-> *part-group-id-table* 494)) +(defconstant group-ctyfarmb-wall-bubbles (-> *part-group-id-table* 1036)) +(defconstant group-forest-seed-glow (-> *part-group-id-table* 495)) +(defconstant group-forest-hover-jet (-> *part-group-id-table* 496)) +(defconstant group-strip-small-screen-09 (-> *part-group-id-table* 230)) +(defconstant group-hide-barrel-fire (-> *part-group-id-table* 771)) +(defconstant group-grenade-fired (-> *part-group-id-table* 237)) +(defconstant group-chain-crate-cable-sparks (-> *part-group-id-table* 238)) +(defconstant group-chain-crate-guide-sparks (-> *part-group-id-table* 239)) +(defconstant group-sewer-light (-> *part-group-id-table* 340)) +(defconstant group-sewer-light-switched (-> *part-group-id-table* 341)) +(defconstant group-sewer-steamvent (-> *part-group-id-table* 342)) +(defconstant group-sewer-drops (-> *part-group-id-table* 343)) +(defconstant group-sewer-checkground-drops (-> *part-group-id-table* 344)) +(defconstant group-sew-mine-light (-> *part-group-id-table* 345)) +(defconstant group-sewer-explode1 (-> *part-group-id-table* 346)) +(defconstant group-sewer-explode2 (-> *part-group-id-table* 347)) +(defconstant group-sewer-gun-laser-beam (-> *part-group-id-table* 348)) +(defconstant group-sewer-key-pull-out (-> *part-group-id-table* 349)) +(defconstant group-ctyindb-red-floor-vent (-> *part-group-id-table* 988)) +(defconstant group-ctyindb-red-lights (-> *part-group-id-table* 989)) +(defconstant group-ctyindb-blue-lights (-> *part-group-id-table* 990)) +(defconstant group-ctyindb-wide-glows-yellow (-> *part-group-id-table* 991)) +(defconstant group-ctyindb-sign-fashion-8x4 (-> *part-group-id-table* 992)) +(defconstant group-ctyindb-sign-praxis-banner-4x8 (-> *part-group-id-table* 993)) +(defconstant group-ctyindb-sign-onin-knows-4x4 (-> *part-group-id-table* 994)) +(defconstant group-ctyindb-chimney (-> *part-group-id-table* 995)) +(defconstant group-ctyindb-chimney-smoke (-> *part-group-id-table* 996)) +(defconstant group-ctyindb-chimney-small (-> *part-group-id-table* 997)) +(defconstant group-ctyindb-red-big-lights-1 (-> *part-group-id-table* 998)) +(defconstant group-ctyindb-red-big-lights-2 (-> *part-group-id-table* 999)) +(defconstant group-ctyindb-red-big-lights-3 (-> *part-group-id-table* 1000)) +(defconstant group-ctyindb-red-big-lights-4 (-> *part-group-id-table* 1001)) +(defconstant group-ctyindb-red-big-lights-5 (-> *part-group-id-table* 1002)) +(defconstant group-ctyindb-red-big-lights-6 (-> *part-group-id-table* 1003)) +(defconstant group-ctyindb-smokestack (-> *part-group-id-table* 1004)) +(defconstant group-ctyindb-squarevent (-> *part-group-id-table* 1005)) +(defconstant group-robotank-steamescape (-> *part-group-id-table* 561)) +(defconstant group-robotank-barrel-sparks (-> *part-group-id-table* 562)) +(defconstant group-fordumpc-panel-1 (-> *part-group-id-table* 563)) +(defconstant group-fordumpc-panel-4 (-> *part-group-id-table* 564)) +(defconstant group-fordumpc-overhead-lights (-> *part-group-id-table* 565)) +(defconstant group-fordumpc-red-glows (-> *part-group-id-table* 566)) +(defconstant group-fordumpc-blue-lights (-> *part-group-id-table* 567)) +(defconstant group-fordumpc-red-lights (-> *part-group-id-table* 568)) +(defconstant group-fordumpc-yellow-lights (-> *part-group-id-table* 569)) +(defconstant group-fordumpc-yellow-glows (-> *part-group-id-table* 570)) +(defconstant group-fordumpc-single-red-lights (-> *part-group-id-table* 571)) +(defconstant group-bomb-explosion (-> *part-group-id-table* 572)) +(defconstant group-fort-dump-bomb-a-steamescape (-> *part-group-id-table* 573)) +(defconstant group-fordumpc-exit-panel (-> *part-group-id-table* 574)) +(defconstant group-fordumpc-single-blue-lights (-> *part-group-id-table* 575)) +(defconstant group-fordumpc-l-upsideown-panel (-> *part-group-id-table* 576)) +(defconstant group-fordumpc-l-panel (-> *part-group-id-table* 577)) +(defconstant group-fortress-small-explosion (-> *part-group-id-table* 578)) +(defconstant group-fortress-big-explosion (-> *part-group-id-table* 579)) +(defconstant group-fortress-side-explosion (-> *part-group-id-table* 580)) +(defconstant group-missile-target-explosion (-> *part-group-id-table* 581)) +(defconstant group-fort-missile-target-steamescape (-> *part-group-id-table* 582)) +(defconstant group-fort-missile-engulfing-death (-> *part-group-id-table* 583)) +(defconstant group-prison-light-machine (-> *part-group-id-table* 584)) +(defconstant group-prison-light (-> *part-group-id-table* 585)) +(defconstant group-prison-light-3d-backside (-> *part-group-id-table* 586)) +(defconstant group-prison-light-ceiling (-> *part-group-id-table* 587)) +(defconstant group-prison-tall-vent-small (-> *part-group-id-table* 588)) +(defconstant group-prison-tall-vent (-> *part-group-id-table* 589)) +(defconstant group-prison-floor-vent (-> *part-group-id-table* 590)) +(defconstant group-prison-console-small-01-a (-> *part-group-id-table* 591)) +(defconstant group-prison-console-small-01-b (-> *part-group-id-table* 592)) +(defconstant group-prison-console-small-02-a (-> *part-group-id-table* 593)) +(defconstant group-prison-console-small-02-b (-> *part-group-id-table* 594)) +(defconstant group-prison-console-small-02-c (-> *part-group-id-table* 595)) +(defconstant group-prison-console-small-03-a (-> *part-group-id-table* 596)) +(defconstant group-prison-console-small-03-b (-> *part-group-id-table* 597)) +(defconstant group-prison-console-small-03-c (-> *part-group-id-table* 598)) +(defconstant group-prison-console-small-door (-> *part-group-id-table* 599)) +(defconstant group-prison-fade-to-black-lights-01 (-> *part-group-id-table* 600)) +(defconstant group-prison-fade-to-black-lights-02 (-> *part-group-id-table* 601)) +(defconstant group-prison-fade-to-black-lights-03 (-> *part-group-id-table* 602)) +(defconstant group-prison-fade-to-black-lights-04 (-> *part-group-id-table* 603)) +(defconstant group-prison-fade-to-black-lights-05 (-> *part-group-id-table* 604)) +(defconstant group-prison-fade-to-black-lights-06 (-> *part-group-id-table* 605)) +(defconstant group-prison-fade-to-black-lights-07 (-> *part-group-id-table* 606)) +(defconstant group-prison-fade-to-black-lights-08 (-> *part-group-id-table* 607)) +(defconstant group-prison-fade-to-black-lights-09 (-> *part-group-id-table* 608)) +(defconstant group-prison-fade-to-black-lights-10 (-> *part-group-id-table* 609)) +(defconstant group-prison-console-front-door (-> *part-group-id-table* 610)) +(defconstant group-bombbot-explode0 (-> *part-group-id-table* 1060)) +(defconstant group-turbo-ring (-> *part-group-id-table* 1058)) +(defconstant group-turbo-ring-explode (-> *part-group-id-table* 1059)) +(defconstant group-ctyport-fireworks (-> *part-group-id-table* 1272)) +(defconstant group-ctyport-firework-green-pop (-> *part-group-id-table* 1273)) +(defconstant group-palroof-window-large (-> *part-group-id-table* 1104)) +(defconstant group-palroof-window-small (-> *part-group-id-table* 1105)) +(defconstant group-palroof-runoff-high (-> *part-group-id-table* 1106)) +(defconstant group-palroof-runoff-med (-> *part-group-id-table* 1107)) +(defconstant group-palroof-runoff-low (-> *part-group-id-table* 1108)) +(defconstant group-palroof-lightning-pole (-> *part-group-id-table* 1109)) +(defconstant group-fordumpa-panel-1 (-> *part-group-id-table* 540)) +(defconstant group-fordumpa-panel-2 (-> *part-group-id-table* 541)) +(defconstant group-fordumpa-panel-3 (-> *part-group-id-table* 542)) +(defconstant group-fordumpa-panel-4 (-> *part-group-id-table* 543)) +(defconstant group-fordumpa-overhead-lights (-> *part-group-id-table* 544)) +(defconstant group-fordumpa-yellow-glows (-> *part-group-id-table* 545)) +(defconstant group-fordumpa-blue-large-lights (-> *part-group-id-table* 546)) +(defconstant group-fordumpa-blue-lights (-> *part-group-id-table* 547)) +(defconstant group-fordumpa-red-lights (-> *part-group-id-table* 548)) +(defconstant group-fordumpa-single-red-lights (-> *part-group-id-table* 549)) +(defconstant group-fordumpa-yellow-lights (-> *part-group-id-table* 550)) +(defconstant group-fordumpa-lightning-pole (-> *part-group-id-table* 551)) +(defconstant group-fordumpa-lightning-pole-off (-> *part-group-id-table* 552)) +(defconstant group-fort-turret-hit (-> *part-group-id-table* 685)) +(defconstant group-whack-scoreboard-misses (-> *part-group-id-table* 765)) +(defconstant group-whack-scoreboard-points (-> *part-group-id-table* 766)) +(defconstant group-whack-miss (-> *part-group-id-table* 767)) +(defconstant group-whack-hit (-> *part-group-id-table* 768)) +(defconstant group-whack-shock (-> *part-group-id-table* 769)) +(defconstant group-mole-dizzy (-> *part-group-id-table* 770)) +(defconstant group-tomb-boulder-roll (-> *part-group-id-table* 739)) +(defconstant group-tomb-boulder-bounce (-> *part-group-id-table* 740)) +(defconstant group-forrescb-overhead-lights (-> *part-group-id-table* 655)) +(defconstant group-forrescb-yellow-glows (-> *part-group-id-table* 656)) +(defconstant group-forrescb-blue-lights (-> *part-group-id-table* 657)) +(defconstant group-forrescb-single-red-lights-1 (-> *part-group-id-table* 658)) +(defconstant group-forrescb-single-red-lights-2 (-> *part-group-id-table* 659)) +(defconstant group-forrescb-single-red-lights-3 (-> *part-group-id-table* 660)) +(defconstant group-forrescb-single-red-lights-4 (-> *part-group-id-table* 661)) +(defconstant group-forrescb-single-red-lights-5 (-> *part-group-id-table* 662)) +(defconstant group-forrescb-single-red-lights-6 (-> *part-group-id-table* 663)) +(defconstant group-forrescb-panel-1 (-> *part-group-id-table* 664)) +(defconstant group-forrescb-panel-2 (-> *part-group-id-table* 665)) +(defconstant group-forrescb-panel-3-full (-> *part-group-id-table* 666)) +(defconstant group-forrescb-panel-3 (-> *part-group-id-table* 667)) +(defconstant group-forrescb-panel-4 (-> *part-group-id-table* 668)) +(defconstant group-forrescb-panel-4-small (-> *part-group-id-table* 669)) +(defconstant group-forrescb-yellow-lights (-> *part-group-id-table* 670)) +(defconstant group-forrescb-lightning-pole (-> *part-group-id-table* 671)) +(defconstant group-forrescb-radar-globes (-> *part-group-id-table* 672)) +(defconstant group-forrescb-flat-panel-1 (-> *part-group-id-table* 673)) +(defconstant group-forrescb-flat-panel-2 (-> *part-group-id-table* 674)) +(defconstant group-forrescb-flat-panel-3 (-> *part-group-id-table* 675)) +(defconstant group-forrescb-flat-panel-4 (-> *part-group-id-table* 676)) +(defconstant group-forrescb-flat-panel-5 (-> *part-group-id-table* 677)) +(defconstant group-forrescb-flat-panel-6 (-> *part-group-id-table* 678)) +(defconstant group-forrescb-small-panel-1 (-> *part-group-id-table* 679)) +(defconstant group-forrescb-small-panel-2 (-> *part-group-id-table* 680)) +(defconstant group-forrescb-small-panel-3 (-> *part-group-id-table* 681)) +(defconstant group-forrescb-small-panel-4 (-> *part-group-id-table* 682)) +(defconstant group-forrescb-small-panel-5 (-> *part-group-id-table* 683)) +(defconstant group-forrescb-inverted-panel (-> *part-group-id-table* 684)) +(defconstant group-spydroid-trail (-> *part-group-id-table* 709)) +(defconstant group-spydroid-explode (-> *part-group-id-table* 710)) +(defconstant group-mech-explode-death (-> *part-group-id-table* 202)) +(defconstant group-palcab-lights (-> *part-group-id-table* 1071)) +(defconstant group-palcab-spark-rain-1 (-> *part-group-id-table* 1072)) +(defconstant group-palcab-spark-rain-2 (-> *part-group-id-table* 1073)) +(defconstant group-palcab-spark-rain-3 (-> *part-group-id-table* 1074)) +(defconstant group-palcab-spark-rain-4 (-> *part-group-id-table* 1075)) +(defconstant group-palcab-spark-rain-5 (-> *part-group-id-table* 1076)) +(defconstant group-palcab-spark-rain-6 (-> *part-group-id-table* 1077)) +(defconstant group-palcab-spark-rain-7 (-> *part-group-id-table* 1078)) +(defconstant group-palcab-spark-rain-8 (-> *part-group-id-table* 1079)) +(defconstant group-palcab-spark-rain-9 (-> *part-group-id-table* 1080)) +(defconstant group-palcab-spark-rain-10 (-> *part-group-id-table* 1081)) +(defconstant group-palcab-spark-rain-11 (-> *part-group-id-table* 1082)) +(defconstant group-palcab-spark-rain-12 (-> *part-group-id-table* 1083)) +(defconstant group-palcab-spark-rain-13 (-> *part-group-id-table* 1084)) +(defconstant group-palcab-spark-rain-14 (-> *part-group-id-table* 1085)) +(defconstant group-palcab-spark-rain-15 (-> *part-group-id-table* 1086)) +(defconstant group-palcab-spark-rain-16 (-> *part-group-id-table* 1087)) +(defconstant group-palcab-birds (-> *part-group-id-table* 1088)) +(defconstant group-palcab-stadium-lights (-> *part-group-id-table* 1089)) +(defconstant group-palcab-palace-fire (-> *part-group-id-table* 1090)) +(defconstant group-palcab-misc-citylights-red-1 (-> *part-group-id-table* 1091)) +(defconstant group-palcab-misc-citylights-red-2 (-> *part-group-id-table* 1092)) +(defconstant group-palcab-misc-citylights-red-3 (-> *part-group-id-table* 1093)) +(defconstant group-palcab-misc-citylights-blue-1 (-> *part-group-id-table* 1094)) +(defconstant group-palcab-misc-citylights-blue-2 (-> *part-group-id-table* 1095)) +(defconstant group-palcab-cable-lights (-> *part-group-id-table* 1096)) +(defconstant group-palcab-strip-glows (-> *part-group-id-table* 1097)) +(defconstant group-palcab-fiery-smokestack (-> *part-group-id-table* 1098)) +(defconstant group-palcab-mountain-glows (-> *part-group-id-table* 1099)) +(defconstant group-palcab-cable-blue-rotaters (-> *part-group-id-table* 1100)) +(defconstant group-palcab-city-glows-1 (-> *part-group-id-table* 1101)) +(defconstant group-palcab-city-glows-2 (-> *part-group-id-table* 1102)) +(defconstant group-palcab-city-glows-3 (-> *part-group-id-table* 1103)) +(defconstant group-forexita-panel-1 (-> *part-group-id-table* 611)) +(defconstant group-forexita-panel-2 (-> *part-group-id-table* 612)) +(defconstant group-forexita-panel-3 (-> *part-group-id-table* 613)) +(defconstant group-forexita-panel-4 (-> *part-group-id-table* 614)) +(defconstant group-forexita-overhead-lights (-> *part-group-id-table* 615)) +(defconstant group-forexita-yellow-glows (-> *part-group-id-table* 616)) +(defconstant group-forexita-claw-panel (-> *part-group-id-table* 617)) +(defconstant group-forexita-lift-plat-glow (-> *part-group-id-table* 618)) +(defconstant group-forexita-blue-lights (-> *part-group-id-table* 619)) +(defconstant group-forexita-yellow-lights (-> *part-group-id-table* 620)) +(defconstant group-forexita-l-upsideown-panel (-> *part-group-id-table* 621)) +(defconstant group-forexita-l-panel (-> *part-group-id-table* 622)) +(defconstant group-onin-candle (-> *part-group-id-table* 778)) +(defconstant group-onin-octopus-tank-bubbles (-> *part-group-id-table* 779)) +(defconstant group-onin-big-tank-bubbles (-> *part-group-id-table* 780)) +(defconstant group-onin-medium-tank-bubbles (-> *part-group-id-table* 781)) +(defconstant group-onin-short-tank-bubbles (-> *part-group-id-table* 782)) +(defconstant group-onin-mini-tank-bubbles (-> *part-group-id-table* 783)) +(defconstant group-onin-flashpot (-> *part-group-id-table* 784)) +(defconstant group-onin-heatpot (-> *part-group-id-table* 785)) +(defconstant group-onin-tiki (-> *part-group-id-table* 786)) +(defconstant group-onin-bird-top (-> *part-group-id-table* 787)) +(defconstant group-onin-bird-cage (-> *part-group-id-table* 788)) +(defconstant group-onin-bugs (-> *part-group-id-table* 789)) +(defconstant group-onintent-seed-glow (-> *part-group-id-table* 790)) +(defconstant group-symbol-of-mar (-> *part-group-id-table* 791)) +(defconstant group-onin-clap-effect (-> *part-group-id-table* 792)) +(defconstant group-onin-big-clap-effect (-> *part-group-id-table* 793)) +(defconstant group-onin-finger-effect (-> *part-group-id-table* 794)) +(defconstant group-onin-small-finger-effect (-> *part-group-id-table* 795)) +(defconstant group-onintent-seal-of-mar-glow (-> *part-group-id-table* 796)) +(defconstant group-onintent-seal-of-mar-glow-small (-> *part-group-id-table* 797)) +(defconstant group-onintent-seal-of-mar-flash (-> *part-group-id-table* 798)) +(defconstant group-onin-bubble-triangle (-> *part-group-id-table* 799)) +(defconstant group-onin-bubble-circle (-> *part-group-id-table* 800)) +(defconstant group-onin-bubble-square (-> *part-group-id-table* 801)) +(defconstant group-onin-bubble-x (-> *part-group-id-table* 802)) +(defconstant group-onin-bubble-pop-triangle (-> *part-group-id-table* 803)) +(defconstant group-onin-bubble-pop-circle (-> *part-group-id-table* 804)) +(defconstant group-onin-bubble-pop-square (-> *part-group-id-table* 805)) +(defconstant group-onin-bubble-pop-x (-> *part-group-id-table* 806)) +(defconstant group-onin-bubble-birth-triangle (-> *part-group-id-table* 807)) +(defconstant group-onin-bubble-birth-circle (-> *part-group-id-table* 808)) +(defconstant group-onin-bubble-birth-square (-> *part-group-id-table* 809)) +(defconstant group-onin-bubble-birth-x (-> *part-group-id-table* 810)) +(defconstant group-onin-bubble-land-triangle (-> *part-group-id-table* 811)) +(defconstant group-onin-bubble-land-circle (-> *part-group-id-table* 812)) +(defconstant group-onin-bubble-land-square (-> *part-group-id-table* 813)) +(defconstant group-onin-bubble-land-x (-> *part-group-id-table* 814)) +(defconstant group-garage-lights (-> *part-group-id-table* 894)) +(defconstant group-garage-pump-glow (-> *part-group-id-table* 895)) +(defconstant group-garage-guage-lights (-> *part-group-id-table* 896)) +(defconstant group-garage-steam-release (-> *part-group-id-table* 897)) +(defconstant group-stadium-flamepot (-> *part-group-id-table* 898)) +(defconstant group-stadium-flamepot-waterspout (-> *part-group-id-table* 899)) +(defconstant group-stadium-waterfall (-> *part-group-id-table* 900)) +(defconstant group-stadium-quickflash-red-light (-> *part-group-id-table* 901)) +(defconstant group-defend-rift-rider-energy (-> *part-group-id-table* 902)) +(defconstant group-defend-stadium-samos-energy (-> *part-group-id-table* 903)) +(defconstant group-stadiumd-danger-light-1 (-> *part-group-id-table* 904)) +(defconstant group-stadiumd-danger-light-2 (-> *part-group-id-table* 905)) +(defconstant group-stadiumd-danger-light-3 (-> *part-group-id-table* 906)) +(defconstant group-stadiumb-overhead-light (-> *part-group-id-table* 907)) +(defconstant group-stadiumb-tunnel-light-top (-> *part-group-id-table* 908)) +(defconstant group-stadiumb-yellow-tunnel-light-top (-> *part-group-id-table* 909)) +(defconstant group-stadiumb-tunnel-light-orange-pole (-> *part-group-id-table* 910)) +(defconstant group-stadiumb-tunnel-light-orange-pole-big (-> *part-group-id-table* 911)) +(defconstant group-stadiumb-tunnel-light-blue-ceiling (-> *part-group-id-table* 912)) +(defconstant group-stadiumb-tunnel-light-green-ceiling (-> *part-group-id-table* 913)) +(defconstant group-stadiumb-tunnel-light-blue-pole (-> *part-group-id-table* 914)) +(defconstant group-stadiumb-tunnel-light-blue-pole-small (-> *part-group-id-table* 915)) +(defconstant group-stadiumb-scoreboard (-> *part-group-id-table* 916)) +(defconstant group-stadiumb-scoreboard-1-sided (-> *part-group-id-table* 917)) +(defconstant group-stadiumb-crowd-straight (-> *part-group-id-table* 918)) +(defconstant group-stadiumb-crowd-straight-180 (-> *part-group-id-table* 919)) +(defconstant group-stadiumb-crowd-curved (-> *part-group-id-table* 920)) +(defconstant group-stdm-baron-box-thruster (-> *part-group-id-table* 921)) +(defconstant group-stdm-barrel-explosion (-> *part-group-id-table* 922)) +(defconstant group-stdm-barrel-explosion-afterglow (-> *part-group-id-table* 923)) +(defconstant group-stdm-bike-thruster (-> *part-group-id-table* 924)) +(defconstant group-stdm-trophy-bling-bling (-> *part-group-id-table* 925)) +(defconstant group-stdm-trophy-2-bling-bling (-> *part-group-id-table* 926)) +(defconstant group-stdm-balloon-smoke (-> *part-group-id-table* 927)) +(defconstant group-ctygenc-streetlight (-> *part-group-id-table* 848)) +(defconstant group-ctygenc-wall-light (-> *part-group-id-table* 849)) +(defconstant group-ctygenc-under-bridge-light (-> *part-group-id-table* 850)) +(defconstant group-ctygenc-ground-vent-base (-> *part-group-id-table* 851)) +(defconstant group-ctygenc-vertical-vent (-> *part-group-id-table* 852)) +(defconstant group-ctygenc-sign-8x4 (-> *part-group-id-table* 853)) +(defconstant group-ctygenc-sign-4x8 (-> *part-group-id-table* 854)) + diff --git a/goal_src/jak2/engine/debug/part-tester.gc b/goal_src/jak2/engine/debug/part-tester.gc index a0404072f3..8b2219f441 100644 --- a/goal_src/jak2/engine/debug/part-tester.gc +++ b/goal_src/jak2/engine/debug/part-tester.gc @@ -38,6 +38,7 @@ (define *part-tester-name* (the-as string #f)) (defmethod deactivate ((this part-tester)) + "Make a process dead, clean it up, remove it from the active pool, and return to dead pool." (if (nonzero? (-> this part)) (kill-and-free-particles (-> this part)) ) @@ -75,7 +76,7 @@ (when (!= gp-1 (-> self old-group)) (when (nonzero? (-> self part)) (kill-and-free-particles (-> self part)) - (set! (-> self heap-cur) (&-> (-> self part) type)) + (set! (-> self heap-cur) (&-> self part type)) ) (set! (-> self part) (create-launch-control gp-1 self)) ) diff --git a/goal_src/jak2/engine/game/task/task-arrow.gc b/goal_src/jak2/engine/game/task/task-arrow.gc index 2f0c749379..18c3fa68ad 100644 --- a/goal_src/jak2/engine/game/task/task-arrow.gc +++ b/goal_src/jak2/engine/game/task/task-arrow.gc @@ -64,6 +64,7 @@ or collectable items on the ground (jetboard / weapon upgrades / etc)" (defmethod deactivate ((this task-arrow)) + "Make a process dead, clean it up, remove it from the active pool, and return to dead pool." (send-event (handle->process (-> this hud-dist)) 'hide-and-die) ((method-of-type process-drawable deactivate) this) 0 @@ -276,7 +277,7 @@ or collectable items on the ground (jetboard / weapon upgrades / etc)" (set! (-> self minimap) (add-icon! *minimap* self (-> arg0 map-icon) (the-as int #f) (the-as vector #t) 0)) (cond ((not (logtest? (-> self flags) (task-arrow-flags task-arrow-flag-02))) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 78) self)) + (set! (-> self part) (create-launch-control group-rod-of-god self)) ) (else (initialize-skeleton diff --git a/goal_src/jak2/engine/gfx/mood/time-of-day.gc b/goal_src/jak2/engine/gfx/mood/time-of-day.gc index d76ad79010..1d37c5a916 100644 --- a/goal_src/jak2/engine/gfx/mood/time-of-day.gc +++ b/goal_src/jak2/engine/gfx/mood/time-of-day.gc @@ -257,9 +257,9 @@ ) ) (update-rates! (-> *display* bg-clock) (-> self time-ratio)) - (set! (-> self sun) (create-launch-control (-> *part-group-id-table* 3) self)) - (set! (-> self green-sun) (create-launch-control (-> *part-group-id-table* 4) self)) - (set! (-> self moon) (create-launch-control (-> *part-group-id-table* 5) self)) + (set! (-> self sun) (create-launch-control group-sun self)) + (set! (-> self green-sun) (create-launch-control group-green-sun self)) + (set! (-> self moon) (create-launch-control group-moon self)) (set! (-> self event-hook) (-> time-of-day-tick event)) (go time-of-day-tick) ) @@ -394,13 +394,13 @@ ) (dotimes (v1-7 8) (vector-float*! - (the-as vector (-> *overide-table* mood-fog-table data v1-7)) - (the-as vector (-> *overide-table* mood-fog-table data v1-7)) + (-> *overide-table* mood-fog-table data v1-7 fog-color) + (-> *overide-table* mood-fog-table data v1-7 fog-color) (-> *overide-table* mood-fog-table data v1-7 fog-color w) ) (vector-float*! - (the-as vector (-> *overide-table* mood-color-table data v1-7)) - (the-as vector (-> *overide-table* mood-color-table data v1-7)) + (-> *overide-table* mood-color-table data v1-7 lgt-color) + (-> *overide-table* mood-color-table data v1-7 lgt-color) (-> *overide-table* mood-color-table data v1-7 lgt-color w) ) (vector-float*! diff --git a/goal_src/jak2/engine/gfx/sprite/particles/sparticle-launcher-h.gc b/goal_src/jak2/engine/gfx/sprite/particles/sparticle-launcher-h.gc index 0c30b11646..6e4baefc17 100644 --- a/goal_src/jak2/engine/gfx/sprite/particles/sparticle-launcher-h.gc +++ b/goal_src/jak2/engine/gfx/sprite/particles/sparticle-launcher-h.gc @@ -167,7 +167,7 @@ &key (rotate (0.0 0.0 0.0)) &key (scale (1.0 1.0 1.0))) "define a new part group. defines a constant with the name of the group with the ID as its value" `(begin - (defconstant ,name ,id) + ; (defconstant ,name ,id) (set! (-> *part-group-id-table* ,id) (new 'static 'sparticle-launch-group :duration ,duration diff --git a/goal_src/jak2/engine/target/board/board-states.gc b/goal_src/jak2/engine/target/board/board-states.gc index fa5fcec98f..a7c5397f60 100644 --- a/goal_src/jak2/engine/target/board/board-states.gc +++ b/goal_src/jak2/engine/target/board/board-states.gc @@ -111,7 +111,7 @@ (if (logtest? (-> self control status) (collide-status impact-surface)) (+! (-> self board turn-anim-duck-vel) (lerp-scale 0.0 15.0 (-> self control normal-impact-vel) 0.0 81920.0)) ) - (let ((f0-38 (vector-dot (the-as vector (-> self board up-vector)) (-> self board up-vector 1)))) + (let ((f0-38 (vector-dot (-> self board up-vector 0) (-> self board up-vector 1)))) (if (< f0-38 1.0) (+! (-> self board turn-anim-duck-vel) (* (lerp-scale 400.0 0.0 f0-38 0.6 1.0) (seconds-per-frame))) ) @@ -372,36 +372,7 @@ (let ((gp-0 (new 'stack-no-clear 'vector))) (set! (-> gp-0 quad) (-> self control trans quad)) (+! (-> gp-0 y) 2048.0) - (let ((s5-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-0 - (let ((t9-10 (method-of-type part-tracker activate))) - (t9-10 (the-as part-tracker s5-0) self (symbol->string (-> part-tracker symbol)) (the-as pointer #x70004000)) - ) - (let ((t9-11 run-function-in-process) - (a0-14 s5-0) - (a1-10 part-tracker-init) - (a2-8 (-> *part-group-id-table* 119)) - (a3-2 0) - (t0-1 #f) - (t1-0 #f) - (t2-0 #f) - (t3-0 *launch-matrix*) - ) - (set! (-> t3-0 trans quad) (-> gp-0 quad)) - ((the-as (function object object object object object object object object none) t9-11) - a0-14 - a1-10 - a2-8 - a3-2 - t0-1 - t1-0 - t2-0 - t3-0 - ) - ) - (-> s5-0 ppointer) - ) - ) + (part-tracker-spawn :to self :group group-board-land-straight :mat-joint gp-0) (let ((s5-1 (process-spawn manipy :init manipy-init @@ -875,36 +846,7 @@ (let ((s3-2 (new 'stack-no-clear 'vector))) (set! (-> s3-2 quad) (-> self control trans quad)) (+! (-> s3-2 y) 2048.0) - (let ((s2-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when s2-1 - (let ((t9-5 (method-of-type part-tracker activate))) - (t9-5 (the-as part-tracker s2-1) self (symbol->string (-> part-tracker symbol)) (the-as pointer #x70004000)) - ) - (let ((t9-6 run-function-in-process) - (a0-15 s2-1) - (a1-7 part-tracker-init) - (a2-8 (-> *part-group-id-table* 120)) - (a3-2 0) - (t0-1 #f) - (t1-0 #f) - (t2-0 #f) - (t3-0 *launch-matrix*) - ) - (set! (-> t3-0 trans quad) (-> s3-2 quad)) - ((the-as (function object object object object object object object object none) t9-6) - a0-15 - a1-7 - a2-8 - a3-2 - t0-1 - t1-0 - t2-0 - t3-0 - ) - ) - (-> s2-1 ppointer) - ) - ) + (part-tracker-spawn :to self :group group-board-quick-jump :mat-joint s3-2) (let* ((s1-1 (get-process *default-dead-pool* manipy #x4000)) (s2-2 (when s1-1 @@ -1065,11 +1007,7 @@ (set! (-> self control unknown-word04) (the-as uint #t)) (let ((v1-6 *edge-grab-info*)) (vector-normalize! - (vector-! - (-> self control edge-grab-edge-dir) - (the-as vector (-> v1-6 world-vertex)) - (-> v1-6 world-vertex 1) - ) + (vector-! (-> self control edge-grab-edge-dir) (-> v1-6 world-vertex 0) (-> v1-6 world-vertex 1)) 1.0 ) ) @@ -2549,12 +2487,7 @@ (set! (-> self control unknown-vector39 quad) (-> self control quat quad)) (ja :group! s4-0 :num! (seek!) :frame-num 0.0) (until #f - (let* ((s3-0 (handle->process arg0)) - (s4-1 (if (type? s3-0 process-focusable) - s3-0 - ) - ) - ) + (let ((s4-1 (the-as process (as-type (handle->process arg0) process-focusable)))) (when s4-1 (set! (-> self control unknown-vector38 quad) (-> (get-trans (the-as process-focusable s4-1) 0) quad)) (+! (-> self control unknown-vector38 y) 4096.0) diff --git a/goal_src/jak2/engine/target/board/target-board.gc b/goal_src/jak2/engine/target/board/target-board.gc index 5edaf54d2e..f9eaa9e3e7 100644 --- a/goal_src/jak2/engine/target/board/target-board.gc +++ b/goal_src/jak2/engine/target/board/target-board.gc @@ -607,15 +607,11 @@ (s5-1 (new 'stack-no-clear 'vector)) ) (vector-normalize! - (vector-! - (-> self control edge-grab-edge-dir) - (-> gp-1 world-vertex 1) - (the-as vector (-> gp-1 world-vertex)) - ) + (vector-! (-> self control edge-grab-edge-dir) (-> gp-1 world-vertex 1) (-> gp-1 world-vertex 0)) 1.0 ) (vector+float*! s5-1 (-> self control trans) (-> self control c-R-w vector 2) (* 40960.0 (seconds-per-frame))) - (let ((f0-2 (vector-segment-overlap s5-1 (the-as vector (-> gp-1 world-vertex)) (-> gp-1 world-vertex 1)))) + (let ((f0-2 (vector-segment-overlap s5-1 (-> gp-1 world-vertex 0) (-> gp-1 world-vertex 1)))) (if (and (time-elapsed? (-> self board ride-time) (seconds 0.4)) (>= f0-2 0.0) (>= 1.0 f0-2) @@ -642,7 +638,7 @@ (the-as int (-> self control attack-count)) (-> self control penetrate-using) ) - (process-spawn part-tracker :init part-tracker-init (-> *part-group-id-table* 117) 0 #f #f self 25 :to self) + (process-spawn part-tracker :init part-tracker-init group-board-spin-attack 0 #f #f self 25 :to self) (target-timed-invulnerable (seconds 0.5) self 2) ) ) @@ -748,7 +744,7 @@ (set! (-> self board upper-body) (new 'process 'joint-mod (joint-mod-mode flex-blend) self 5)) ) (if (zero? (-> self board part-control)) - (set! (-> self board part-control) (create-launch-control (-> *part-group-id-table* 118) self)) + (set! (-> self board part-control) (create-launch-control group-target-board self)) ) (mode-set! (-> self board main) (joint-mod-mode flex-blend)) (mode-set! (-> self board upper-body) (joint-mod-mode flex-blend)) @@ -1338,36 +1334,7 @@ ) (set! (-> self board shock-offset) -3072.0) (set! (-> self board shock-offsetv) 0.0) - (let ((gp-3 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-3 - (let ((t9-9 (method-of-type part-tracker activate))) - (t9-9 (the-as part-tracker gp-3) self (symbol->string (-> part-tracker symbol)) (the-as pointer #x70004000)) - ) - (let ((t9-10 run-function-in-process) - (a0-28 gp-3) - (a1-8 part-tracker-init) - (a2-8 (-> *part-group-id-table* 21)) - (a3-5 0) - (t0-4 #f) - (t1-2 #f) - (t2-2 #f) - (t3-0 *launch-matrix*) - ) - (set! (-> t3-0 trans quad) (-> self control trans quad)) - ((the-as (function object object object object object object object object none) t9-10) - a0-28 - a1-8 - a2-8 - a3-5 - t0-4 - t1-2 - t2-2 - t3-0 - ) - ) - (-> gp-3 ppointer) - ) - ) + (part-tracker-spawn :to self :group group-land-poof-stn :mat-joint (-> self control trans)) ) ) (set! (-> self control draw-offset y) @@ -2122,11 +2089,7 @@ ) (set! (-> self control ground-pat) (the-as pat-surface (-> s4-0 edge-tri-pat))) (vector-normalize! - (vector-! - (-> self control edge-grab-edge-dir) - (-> s4-0 world-vertex 1) - (the-as vector (-> s4-0 world-vertex)) - ) + (vector-! (-> self control edge-grab-edge-dir) (-> s4-0 world-vertex 1) (-> s4-0 world-vertex 0)) 1.0 ) (set! (-> self control edge-grab-across-edge-dir quad) (-> s4-0 hanging-matrix quad 0)) @@ -2136,11 +2099,7 @@ (set! (-> s4-0 world-vertex 0 quad) (-> s4-0 world-vertex 1 quad)) (set! (-> s4-0 world-vertex 1 quad) (-> s3-2 quad)) (vector-normalize! - (vector-! - (-> self control edge-grab-edge-dir) - (-> s4-0 world-vertex 1) - (the-as vector (-> s4-0 world-vertex)) - ) + (vector-! (-> self control edge-grab-edge-dir) (-> s4-0 world-vertex 1) (-> s4-0 world-vertex 0)) 1.0 ) (set! (-> s3-2 quad) (-> s4-0 adjacent-edge-left-vertex quad)) @@ -2352,10 +2311,10 @@ ) ) (let ((s3-9 (-> self board ride-vertex (-> self board ride-vertex-base)))) - (if (not (or (vector= s3-9 (the-as vector (-> self board ride-vertex-old))) + (if (not (or (vector= s3-9 (-> self board ride-vertex-old 0)) (vector= s3-9 (-> self board ride-vertex-old 1)) (vector= s3-9 (-> self board ride-vertex-old 2)) - (vector= (&+ s3-9 16) (the-as vector (-> self board ride-vertex-old))) + (vector= (&+ s3-9 16) (-> self board ride-vertex-old 0)) (vector= (&+ s3-9 16) (-> self board ride-vertex-old 1)) (vector= (&+ s3-9 16) (-> self board ride-vertex-old 2)) ) 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 eaef27240b..df9b9583c3 100644 --- a/goal_src/jak2/engine/target/gun/gun-blue-shot.gc +++ b/goal_src/jak2/engine/target/gun/gun-blue-shot.gc @@ -118,8 +118,8 @@ (s1-0 (new 'stack-no-clear 'vector)) (s3-2 (new 'stack-no-clear 'vector)) ) - (vector-cross! (the-as vector (-> a1-7 vector)) *y-vector* s2-0) - (vector-cross! (-> a1-7 vector 1) s2-0 (the-as vector (-> a1-7 vector))) + (vector-cross! (-> a1-7 vector 0) *y-vector* s2-0) + (vector-cross! (-> a1-7 vector 1) s2-0 (-> a1-7 vector 0)) (set! (-> a1-7 vector 2 quad) (-> s2-0 quad)) (matrix->eul (the-as euler-angles s1-0) a1-7 21) (vector-negate! s3-2 s1-0) @@ -140,41 +140,7 @@ ) ) ) - (let ((s5-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-1 - (let ((t9-12 (method-of-type part-tracker activate))) - (t9-12 - (the-as part-tracker s5-1) - *entity-pool* - (symbol->string (-> part-tracker symbol)) - (the-as pointer #x70004000) - ) - ) - (let ((t9-13 run-function-in-process) - (a0-19 s5-1) - (a1-15 part-tracker-init) - (a2-12 (-> *part-group-id-table* 68)) - (a3-3 0) - (t0-2 #f) - (t1-0 #f) - (t2-0 #f) - (t3-0 *launch-matrix*) - ) - (set! (-> t3-0 trans quad) (-> this root trans quad)) - ((the-as (function object object object object object object object object none) t9-13) - a0-19 - a1-15 - a2-12 - a3-3 - t0-2 - t1-0 - t2-0 - t3-0 - ) - ) - (-> s5-1 ppointer) - ) - ) + (part-tracker-spawn :to *entity-pool* :group group-gun-blue-shot-hit :mat-joint (-> this root trans)) 0 (none) ) 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 d19a2d9899..fee72495cb 100644 --- a/goal_src/jak2/engine/target/gun/gun-dark-shot.gc +++ b/goal_src/jak2/engine/target/gun/gun-dark-shot.gc @@ -142,7 +142,7 @@ "Init relevant settings for the [[projectile]] such as gravity, speed, timeout, etc" (set! (-> this attack-mode) 'eco-dark) (vector-normalize! (-> this root transv) (+ 225280.0 (* 225280.0 (-> this charge-level)))) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 72) this)) + (set! (-> this part) (create-launch-control group-gun-dark-shot-trail this)) (set! (-> this blast-radius) 40960.0) (set! (-> this size-t) 0.0) (set! (-> this charge-sound) (new-sound-id)) @@ -287,41 +287,7 @@ ) ) (set-time! (-> self state-time)) - (let ((gp-2 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-2 - (let ((t9-4 (method-of-type part-tracker activate))) - (t9-4 - (the-as part-tracker gp-2) - *entity-pool* - (symbol->string (-> part-tracker symbol)) - (the-as pointer #x70004000) - ) - ) - (let ((t9-5 run-function-in-process) - (a0-18 gp-2) - (a1-4 part-tracker-init) - (a2-4 (-> *part-group-id-table* 70)) - (a3-1 0) - (t0-0 #f) - (t1-0 #f) - (t2-0 #f) - (t3-0 *launch-matrix*) - ) - (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 - a2-4 - a3-1 - t0-0 - t1-0 - t2-0 - t3-0 - ) - ) - (-> gp-2 ppointer) - ) - ) + (part-tracker-spawn :to *entity-pool* :group group-gun-dark-shot-fired :mat-joint (-> self root trans)) (draw-beam (-> *part-id-table* 210) (-> self root trans) (-> self core-velocity) #f #t) ) :trans (behavior () @@ -335,12 +301,7 @@ (let ((s5-0 (new 'stack-no-clear 'matrix))) (let ((s4-0 (new 'stack-no-clear 'vector))) (vector-normalize-copy! s4-0 (-> self core-velocity) 1.0) - (let* ((s3-0 (handle->process (-> self track-target))) - (v1-3 (if (type? s3-0 process-drawable) - (the-as process-drawable s3-0) - ) - ) - ) + (let ((v1-3 (as-type (handle->process (-> self track-target)) process-drawable))) (when v1-3 (let* ((s3-2 (vector-! (new 'stack-no-clear 'vector) (-> v1-3 root trans) (-> self core-position))) (f0-0 (vector-normalize-ret-len! s3-2 1.0)) @@ -379,7 +340,7 @@ (vector-float*! (-> s5-0 vector 1) (-> s5-0 vector 1) (/ 1.0 f30-0)) ) ) - (vector-cross! (the-as vector (-> s5-0 vector)) (-> s5-0 vector 1) (-> s5-0 vector 2)) + (vector-cross! (-> s5-0 vector 0) (-> s5-0 vector 1) (-> s5-0 vector 2)) (matrix->quaternion (-> self root quat) s5-0) ) (vector+! (-> self core-position) (-> self core-position) (-> self core-velocity)) @@ -639,7 +600,7 @@ (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 group) group-jak-peacemaker-shot-hit) (set! (-> gp-1 collide-with) (collide-spec backgnd crate enemy obstacle vehicle-sphere hit-by-others-list player-list pusher) ) @@ -737,12 +698,7 @@ ) ) (countdown (s5-3 gp-2) - (let* ((s3-1 (handle->process (-> self result-array s5-3))) - (s4-1 (if (type? s3-1 process-focusable) - s3-1 - ) - ) - ) + (let ((s4-1 (the-as process (as-type (handle->process (-> self result-array s5-3)) process-focusable)))) (when s4-1 (send-event s4-1 'attack #f (static-attack-info ((id (new-attack-id)) (mode 'explode) (damage 16.0)))) (process-spawn-function 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 1f779239ed..9e7cc08005 100644 --- a/goal_src/jak2/engine/target/gun/gun-red-shot.gc +++ b/goal_src/jak2/engine/target/gun/gun-red-shot.gc @@ -130,12 +130,7 @@ ) (defmethod fire! ((this gun-red-shot) (arg0 process-drawable) (arg1 int)) - (let* ((s5-0 arg0) - (v1-0 (if (type? s5-0 process-drawable) - s5-0 - ) - ) - ) + (let ((v1-0 (as-type arg0 process-drawable))) (when v1-0 (let* ((s5-2 (vector-! (new 'stack-no-clear 'vector) (-> v1-0 root trans) (-> this start-pos))) (f30-0 (* (if (< (vector-length s5-2) 24576.0) @@ -188,13 +183,9 @@ "Create all 19 probe vectors" (let ((s5-0 (-> this probe-count))) (when (< s5-0 19) - (let* ((s4-0 (-> arg0 process)) - (a0-2 (if (type? s4-0 process-focusable) - (the-as process-focusable s4-0) - ) - ) - (s4-1 (new 'stack-no-clear 'vector)) - ) + (let ((a0-2 (as-type (-> arg0 process) process-focusable)) + (s4-1 (new 'stack-no-clear 'vector)) + ) (if a0-2 (set! (-> s4-1 quad) (-> (get-trans a0-2 3) quad)) (set! (-> s4-1 quad) (-> arg0 root-prim prim-core world-sphere quad)) @@ -532,41 +523,7 @@ (logclear! (-> self mask) (process-mask enemy)) (gun-red-shot-method-27 self) (cpad-set-buzz! (-> *cpad-list* cpads 0) 1 204 (seconds 0.1)) - (let ((gp-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-1 - (let ((t9-10 (method-of-type part-tracker activate))) - (t9-10 - (the-as part-tracker gp-1) - *entity-pool* - (symbol->string (-> part-tracker symbol)) - (the-as pointer #x70004000) - ) - ) - (let ((t9-11 run-function-in-process) - (a0-27 gp-1) - (a1-9 part-tracker-init) - (a2-7 (-> *part-group-id-table* 66)) - (a3-4 0) - (t0-0 #f) - (t1-0 #f) - (t2-0 #f) - (t3-0 *launch-matrix*) - ) - (set! (-> t3-0 trans quad) (-> self start-pos quad)) - ((the-as (function object object object object object object object object none) t9-11) - a0-27 - a1-9 - a2-7 - a3-4 - t0-0 - t1-0 - t2-0 - t3-0 - ) - ) - (-> gp-1 ppointer) - ) - ) + (part-tracker-spawn :to *entity-pool* :group group-gun-red-shot-fired :mat-joint (-> self start-pos)) (draw-beam (-> *part-id-table* 187) (-> self start-pos) (-> self start-dir) #f #t) (sound-play "red-shot-fire") ;; og:preserve-this trigger effects 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 7c7c3d01da..6cea8b0916 100644 --- a/goal_src/jak2/engine/target/gun/gun-yellow-shot.gc +++ b/goal_src/jak2/engine/target/gun/gun-yellow-shot.gc @@ -144,82 +144,10 @@ (defmethod spawn-shell-particles ((this gun-yellow-shot)) "TODO - confirm" - (cond - ((-> this hit-actor?) - (let ((s5-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-0 - (let ((t9-1 (method-of-type part-tracker activate))) - (t9-1 - (the-as part-tracker s5-0) - *entity-pool* - (symbol->string (-> part-tracker symbol)) - (the-as pointer #x70004000) - ) - ) - (let ((t9-2 run-function-in-process) - (a0-3 s5-0) - (a1-2 part-tracker-init) - (a2-4 (-> *part-group-id-table* 74)) - (a3-1 0) - (t0-0 #f) - (t1-0 #f) - (t2-0 #f) - (t3-0 *launch-matrix*) - ) - (set! (-> t3-0 trans quad) (-> this root trans quad)) - ((the-as (function object object object object object object object object none) t9-2) - a0-3 - a1-2 - a2-4 - a3-1 - t0-0 - t1-0 - t2-0 - t3-0 - ) - ) - (-> s5-0 ppointer) - ) - ) - ) - (else - (let ((s5-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-1 - (let ((t9-4 (method-of-type part-tracker activate))) - (t9-4 - (the-as part-tracker s5-1) - *entity-pool* - (symbol->string (-> part-tracker symbol)) - (the-as pointer #x70004000) - ) - ) - (let ((t9-5 run-function-in-process) - (a0-6 s5-1) - (a1-5 part-tracker-init) - (a2-9 (-> *part-group-id-table* 73)) - (a3-3 0) - (t0-1 #f) - (t1-1 #f) - (t2-1 #f) - (t3-1 *launch-matrix*) - ) - (set! (-> t3-1 trans quad) (-> this root trans quad)) - ((the-as (function object object object object object object object object none) t9-5) - a0-6 - a1-5 - a2-9 - a3-3 - t0-1 - t1-1 - t2-1 - t3-1 - ) - ) - (-> s5-1 ppointer) - ) - ) + (if (-> this hit-actor?) + (part-tracker-spawn :to *entity-pool* :group group-gun-yellow-shot-hit-object :mat-joint (-> this root trans)) + (part-tracker-spawn :to *entity-pool* :group group-gun-yellow-shot-hit :mat-joint (-> this root trans)) ) - ) 0 (none) ) diff --git a/goal_src/jak2/engine/target/mech/mech-states.gc b/goal_src/jak2/engine/target/mech/mech-states.gc index 1ecab42cab..2474d80d11 100644 --- a/goal_src/jak2/engine/target/mech/mech-states.gc +++ b/goal_src/jak2/engine/target/mech/mech-states.gc @@ -360,7 +360,7 @@ (set! (-> self mech walk-anim-leg) 1) (set! s5-0 jakb-mech-punch-l-ja) ((method-of-type impact-control initialize) - (the-as impact-control (-> self mech state-impact)) + (-> self mech state-impact 0) (the-as process-drawable (ppointer->process (-> self manipy))) 7 6963.2 @@ -371,7 +371,7 @@ (set! (-> self mech walk-anim-leg) 0) (set! s5-0 jakb-mech-punch-r-ja) ((method-of-type impact-control initialize) - (the-as impact-control (-> self mech state-impact)) + (-> self mech state-impact 0) (the-as process-drawable (ppointer->process (-> self manipy))) 17 6963.2 @@ -382,7 +382,7 @@ (set! (-> self mech walk-anim-leg) 0) (set! s5-0 jakb-mech-punch-b-ja) ((method-of-type impact-control initialize) - (the-as impact-control (-> self mech state-impact)) + (-> self mech state-impact 0) (the-as process-drawable (ppointer->process (-> self manipy))) 39 11141.12 @@ -393,7 +393,7 @@ (set! (-> self mech walk-anim-leg) 0) (set! s5-0 jakb-mech-punch-u-ja) ((method-of-type impact-control initialize) - (the-as impact-control (-> self mech state-impact)) + (-> self mech state-impact 0) (the-as process-drawable (ppointer->process (-> self manipy))) 39 11141.12 @@ -437,19 +437,15 @@ (when (-> self control danger-mode) (-> block param 1) (let* ((gp-1 (the-as object (-> block param 3))) - (s5-1 (-> (the-as collide-query gp-1) best-other-tri collide-ptr)) - (s4-1 (if (type? s5-1 collide-shape-prim) - (the-as collide-shape-prim s5-1) - ) - ) - (s3-1 (if s4-1 - (-> s4-1 cshape process) - (the-as process-drawable #f) - ) - ) - (s5-2 (if (type? s3-1 process-focusable) - s3-1 - ) + (s4-1 (as-type (-> (the-as collide-query gp-1) best-other-tri collide-ptr) collide-shape-prim)) + (s5-2 (the-as process-drawable (as-type + (if s4-1 + (-> s4-1 cshape process) + (the-as process-drawable #f) + ) + process-focusable + ) + ) ) ) (if (and s4-1 @@ -479,35 +475,10 @@ (set! (-> self mech forward-vel) -40960.0) ) (when (or (not s5-2) (= (-> self control send-attack-time) (current-time))) - (let ((s5-3 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-3 - (let ((t9-7 (method-of-type part-tracker activate))) - (t9-7 (the-as part-tracker s5-3) self (symbol->string (-> part-tracker symbol)) (the-as pointer #x70004000)) - ) - (let ((t9-8 run-function-in-process) - (a0-33 s5-3) - (a1-9 part-tracker-init) - (a2-8 (-> *part-group-id-table* 11)) - (a3-4 0) - (t0-1 #f) - (t1-1 #f) - (t2-0 #f) - (t3-0 *launch-matrix*) - ) - (set! (-> t3-0 trans quad) (-> (the-as collide-query gp-1) best-other-tri intersect quad)) - ((the-as (function object object object object object object object object none) t9-8) - a0-33 - a1-9 - a2-8 - a3-4 - t0-1 - t1-1 - t2-0 - t3-0 - ) - ) - (-> s5-3 ppointer) - ) + (part-tracker-spawn + :to self + :group group-punch-hit + :mat-joint (-> (the-as collide-query gp-1) best-other-tri intersect) ) (sound-play "mech-punch-hit" :position (+ (the-as uint gp-1) 48)) (activate! *camera-smush-control* 1638.4 15 75 1.0 0.9 (-> *display* camera-clock)) @@ -1188,36 +1159,7 @@ ) ) (sound-play "mech-eject") - (let ((gp-7 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-7 - (let ((t9-33 (method-of-type part-tracker activate))) - (t9-33 (the-as part-tracker gp-7) self (symbol->string (-> part-tracker symbol)) (the-as pointer #x70004000)) - ) - (let ((t9-34 run-function-in-process) - (a0-72 gp-7) - (a1-35 part-tracker-init) - (a2-31 (-> *part-group-id-table* 202)) - (a3-13 0) - (t0-8 #f) - (t1-8 #f) - (t2-5 #f) - (t3-0 *launch-matrix*) - ) - (set! (-> t3-0 trans quad) (-> self control trans quad)) - ((the-as (function object object object object object object object object none) t9-34) - a0-72 - a1-35 - a2-31 - a3-13 - t0-8 - t1-8 - t2-5 - t3-0 - ) - ) - (-> gp-7 ppointer) - ) - ) + (part-tracker-spawn :to self :group group-mech-explode-death :mat-joint (-> self control trans)) (rot->dir-targ! (-> self control)) (ja-post) (let ((gp-8 (new 'stack 'joint-exploder-tuning (the-as uint 0)))) @@ -2416,12 +2358,7 @@ (set! (-> self control unknown-vector38 quad) (-> self control trans quad)) (set! (-> self control unknown-vector39 quad) (-> self control quat quad)) (set! (-> self control unknown-vector40 quad) (-> self control quat quad)) - (let* ((gp-1 (handle->process arg0)) - (v1-23 (if (type? gp-1 process-drawable) - gp-1 - ) - ) - ) + (let ((v1-23 (the-as process (as-type (handle->process arg0) process-drawable)))) (when v1-23 (set! (-> self control unknown-vector38 quad) (-> (the-as process-drawable v1-23) root trans quad)) (set! (-> self control unknown-vector40 quad) (-> (the-as process-drawable v1-23) root quat quad)) diff --git a/goal_src/jak2/engine/target/target-darkjak.gc b/goal_src/jak2/engine/target/target-darkjak.gc index 6258e4e2f7..231732777a 100644 --- a/goal_src/jak2/engine/target/target-darkjak.gc +++ b/goal_src/jak2/engine/target/target-darkjak.gc @@ -746,12 +746,12 @@ ) (send-event (handle->process (-> self control unknown-combo-tracker00 target)) 'combo) ) - (let* ((s5-0 (handle->process (-> self control unknown-combo-tracker00 target))) - (gp-0 (if (type? s5-0 process-focusable) - s5-0 - ) - ) - ) + (let ((gp-0 (the-as + process + (as-type (handle->process (-> self control unknown-combo-tracker00 target)) process-focusable) + ) + ) + ) (let ((s5-1 (get-trans (the-as process-focusable gp-0) 3))) (when (and (< 2048.0 (vector-vector-distance (-> self control trans) s5-1)) (or (and (= gp-0 (handle->process sv-56)) (not (time-elapsed? (the-as time-frame sv-64) (seconds 0.1)))) @@ -877,36 +877,7 @@ (>= 0.0 (vector-dot (-> gp-3 best-other-tri normal) (-> self control impact-ctrl dir))) ) (when (= (-> gp-3 best-other-tri pat mode) (pat-mode wall)) - (let ((s5-2 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-2 - (let ((t9-38 (method-of-type part-tracker activate))) - (t9-38 (the-as part-tracker s5-2) self (symbol->string (-> part-tracker symbol)) (the-as pointer #x70004000)) - ) - (let ((t9-39 run-function-in-process) - (a0-96 s5-2) - (a1-21 part-tracker-init) - (a2-12 (-> *part-group-id-table* 11)) - (a3-7 0) - (t0-3 #f) - (t1-2 #f) - (t2-1 #f) - (t3-0 *launch-matrix*) - ) - (set! (-> t3-0 trans quad) (-> gp-3 best-other-tri intersect quad)) - ((the-as (function object object object object object object object object none) t9-39) - a0-96 - a1-21 - a2-12 - a3-7 - t0-3 - t1-2 - t2-1 - t3-0 - ) - ) - (-> s5-2 ppointer) - ) - ) + (part-tracker-spawn :to self :group group-punch-hit :mat-joint (-> gp-3 best-other-tri intersect)) (let ((imp-sound (static-sound-name "djak-punch-hit"))) (play-effect-sound (-> self skel effect) @@ -1228,41 +1199,7 @@ (set! (-> sv-80 y) (* 0.5 (+ (-> self control trans y) (-> self control root-prim prim-core world-sphere y)))) (set! (-> sv-80 y) (-> self control root-prim prim-core world-sphere y)) ) - (let ((gp-4 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-4 - (let ((t9-37 (method-of-type part-tracker activate))) - (t9-37 - (the-as part-tracker gp-4) - *entity-pool* - (symbol->string (-> part-tracker symbol)) - (the-as pointer #x70004000) - ) - ) - (let ((t9-38 run-function-in-process) - (a0-75 gp-4) - (a1-37 part-tracker-init) - (a2-35 (-> *part-group-id-table* 63)) - (a3-15 0) - (t0-7 #f) - (t1-5 #f) - (t2-2 #f) - (t3-1 *launch-matrix*) - ) - (set! (-> t3-1 trans quad) (-> sv-80 quad)) - ((the-as (function object object object object object object object object none) t9-38) - a0-75 - a1-37 - a2-35 - a3-15 - t0-7 - t1-5 - t2-2 - t3-1 - ) - ) - (-> gp-4 ppointer) - ) - ) + (part-tracker-spawn :to *entity-pool* :group group-darkjak-bomb :mat-joint sv-80) (let ((gp-5 (process-spawn manipy :init manipy-init @@ -1734,12 +1671,7 @@ (set! sv-40 (fill-actor-list-for-sphere *actor-hash* sv-56 (-> sv-32 data) (-> sv-32 allocated-length))) (set! (-> sv-32 length) sv-40) (countdown (s5-0 sv-40) - (let* ((s4-0 (-> sv-32 s5-0 process)) - (v1-53 (if (type? s4-0 process-focusable) - s4-0 - ) - ) - ) + (let ((v1-53 (the-as process-drawable (as-type (-> sv-32 s5-0 process) process-focusable)))) (when (and v1-53 (logtest? (process-mask enemy guard vehicle) (-> v1-53 mask))) (set! (-> sv-60 sv-48) (process->handle v1-53)) (set! sv-48 (+ sv-48 1)) diff --git a/goal_src/jak2/engine/target/target-death.gc b/goal_src/jak2/engine/target/target-death.gc index b8ca552f55..70d6de02b2 100644 --- a/goal_src/jak2/engine/target/target-death.gc +++ b/goal_src/jak2/engine/target/target-death.gc @@ -519,42 +519,14 @@ ) (defbehavior target-hit-effect target ((arg0 attack-info)) - (let ((s5-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-0 - (let ((t9-1 (method-of-type part-tracker activate))) - (t9-1 (the-as part-tracker s5-0) self (symbol->string (-> part-tracker symbol)) (the-as pointer #x70004000)) - ) - (let ((t9-2 run-function-in-process) - (a0-3 s5-0) - (a1-2 part-tracker-init) - (a2-4 (-> *part-group-id-table* 9)) - (a3-1 0) - (t0-0 #f) - (t1-0 #f) - (t2-0 #f) - (t3-0 *launch-matrix*) + (part-tracker-spawn + :to self + :group group-target-hit + :mat-joint (the-as vector (if (logtest? (-> arg0 mask) (attack-mask intersection)) + (-> arg0 intersection) + (the-as vector (-> self control root-prim prim-core)) + ) ) - (set! (-> t3-0 trans quad) (-> (the-as vector (if (logtest? (-> arg0 mask) (attack-mask intersection)) - (-> arg0 intersection) - (the-as vector (-> self control root-prim prim-core)) - ) - ) - quad - ) - ) - ((the-as (function object object object object object object object object none) t9-2) - a0-3 - a1-2 - a2-4 - a3-1 - t0-0 - t1-0 - t2-0 - t3-0 - ) - ) - (-> s5-0 ppointer) - ) ) (let ((v1-8 (-> arg0 mode))) (cond @@ -938,7 +910,7 @@ (logclear! (-> self focus-status) (focus-status dead hit)) (logclear! (-> self state-flags) (state-flags disable-attacks)) ) - ((method-of-type focus clear-focused) (the-as focus (-> self gun track-target))) + ((method-of-type focus clear-focused) (-> self gun track-target 0)) (target-exit) ) :trans (behavior () @@ -1032,41 +1004,7 @@ ) (('lava 'melt) (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))) - (t9-15 - (the-as part-tracker gp-2) - *entity-pool* - (symbol->string (-> part-tracker symbol)) - (the-as pointer #x70004000) - ) - ) - (let ((t9-16 run-function-in-process) - (a0-53 gp-2) - (a1-13 part-tracker-init) - (a2-9 (-> *part-group-id-table* 57)) - (a3-3 0) - (t0-0 #f) - (t1-0 #f) - (t2-0 #f) - (t3-0 *launch-matrix*) - ) - (set! (-> t3-0 trans quad) (-> self control trans quad)) - ((the-as (function object object object object object object object object none) t9-16) - a0-53 - a1-13 - a2-9 - a3-3 - t0-0 - t1-0 - t2-0 - t3-0 - ) - ) - (-> gp-2 ppointer) - ) - ) + (part-tracker-spawn :to *entity-pool* :group group-lava-death :mat-joint (-> self control trans)) (set! (-> sv-32 angle) 'lava) (set! (-> sv-32 shove-up) 20480.0) ) @@ -1102,13 +1040,13 @@ (let* ((v1-123 (-> sv-32 mode)) (gp-3 (cond ((= v1-123 'shock-red) - (-> *part-group-id-table* 62) + group-lightning-red-glow ) ((= v1-123 'shock-green) - (-> *part-group-id-table* 61) + group-lightning-green-glow ) (else - (-> *part-group-id-table* 60) + group-lightning-glow ) ) ) @@ -1300,7 +1238,7 @@ (compute-alignment! (-> self align)) (let ((gp-0 (new 'stack-no-clear 'vector))) (when (not (logtest? (-> self align flags) (align-flags disabled))) - (vector-matrix*! gp-0 (the-as vector (-> self align delta)) (-> self control c-R-w)) + (vector-matrix*! gp-0 (-> self align delta trans) (-> self control c-R-w)) (vector-float*! (-> self control transv) gp-0 (-> self clock frames-per-second)) ) ) @@ -1577,53 +1515,15 @@ cfg-132 :delay (nop!) ) - (let ((s5-0 (handle->process (-> self attack-info attacker)))) - (when (if (type? s5-0 water-vol) - s5-0 - ) - (logior! (-> self state-flags) (state-flags sf14)) - (set! (-> self alt-cam-pos y) (+ 4096.0 (-> self water height))) - ) + (when (the-as process (as-type (handle->process (-> self attack-info attacker)) water-vol)) + (logior! (-> self state-flags) (state-flags sf14)) + (set! (-> self alt-cam-pos y) (+ 4096.0 (-> self water height))) ) (set! (-> self control mod-surface) *neutral-mods*) (let ((v1-63 arg0)) (b! (!= v1-63 'dark-eco-pool) cfg-79 :delay (empty-form)) (sound-play "death-darkeco") - (let ((s5-2 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-2 - (let ((t9-14 (method-of-type part-tracker activate))) - (t9-14 - (the-as part-tracker s5-2) - *entity-pool* - (symbol->string (-> part-tracker symbol)) - (the-as pointer #x70004000) - ) - ) - (let ((t9-15 run-function-in-process) - (a0-61 s5-2) - (a1-27 part-tracker-init) - (a2-10 (-> *part-group-id-table* 56)) - (a3-6 0) - (t0-5 #f) - (t1-5 #f) - (t2-1 #f) - (t3-0 *launch-matrix*) - ) - (set! (-> t3-0 trans quad) (-> self control trans quad)) - ((the-as (function object object object object object object object object none) t9-15) - a0-61 - a1-27 - a2-10 - a3-6 - t0-5 - t1-5 - t2-1 - t3-0 - ) - ) - (-> s5-2 ppointer) - ) - ) + (part-tracker-spawn :to *entity-pool* :group group-dark-eco-death :mat-joint (-> self control trans)) (let ((v1-75 (-> self control root-prim))) (set! (-> v1-75 prim-core collide-as) (collide-spec)) (set! (-> v1-75 prim-core collide-with) (collide-spec)) @@ -1653,41 +1553,7 @@ (sound-play "explosion") ) ) - (let ((s5-6 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-6 - (let ((t9-23 (method-of-type part-tracker activate))) - (t9-23 - (the-as part-tracker s5-6) - *entity-pool* - (symbol->string (-> part-tracker symbol)) - (the-as pointer #x70004000) - ) - ) - (let ((t9-24 run-function-in-process) - (a0-80 s5-6) - (a1-36 part-tracker-init) - (a2-17 (-> *part-group-id-table* 58)) - (a3-10 0) - (t0-8 #f) - (t1-8 #f) - (t2-4 #f) - (t3-1 *launch-matrix*) - ) - (set! (-> t3-1 trans quad) (-> self control trans quad)) - ((the-as (function object object object object object object object object none) t9-24) - a0-80 - a1-36 - a2-17 - a3-10 - t0-8 - t1-8 - t2-4 - t3-1 - ) - ) - (-> s5-6 ppointer) - ) - ) + (part-tracker-spawn :to *entity-pool* :group group-explode-death :mat-joint (-> self control trans)) (set-vector! (-> self control transv) 0.0 65502.96 0.0 1.0) (ja-channel-push! 1 (seconds 0.1)) (ja-no-eval :group! jakb-hit-from-front-ja :num! (seek!) :frame-num 0.0) @@ -1751,41 +1617,7 @@ (label cfg-122) (when (or (= v1-63 'lava) (= v1-63 'melt)) (sound-play "death-melt") - (let ((s5-9 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-9 - (let ((t9-37 (method-of-type part-tracker activate))) - (t9-37 - (the-as part-tracker s5-9) - *entity-pool* - (symbol->string (-> part-tracker symbol)) - (the-as pointer #x70004000) - ) - ) - (let ((t9-38 run-function-in-process) - (a0-107 s5-9) - (a1-49 part-tracker-init) - (a2-28 (-> *part-group-id-table* 57)) - (a3-13 0) - (t0-10 #f) - (t1-10 #f) - (t2-6 #f) - (t3-2 *launch-matrix*) - ) - (set! (-> t3-2 trans quad) (-> self control trans quad)) - ((the-as (function object object object object object object object object none) t9-38) - a0-107 - a1-49 - a2-28 - a3-13 - t0-10 - t1-10 - t2-6 - t3-2 - ) - ) - (-> s5-9 ppointer) - ) - ) + (part-tracker-spawn :to *entity-pool* :group group-lava-death :mat-joint (-> self control trans)) (let ((v1-219 (-> self control root-prim))) (set! (-> v1-219 prim-core collide-as) (collide-spec)) (set! (-> v1-219 prim-core collide-with) (collide-spec)) @@ -1902,41 +1734,7 @@ ) ) ((or (= v1-50 'burn) (= v1-50 'burnup)) - (let ((s5-12 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-12 - (let ((t9-45 (method-of-type part-tracker activate))) - (t9-45 - (the-as part-tracker s5-12) - *entity-pool* - (symbol->string (-> part-tracker symbol)) - (the-as pointer #x70004000) - ) - ) - (let ((t9-46 run-function-in-process) - (a0-118 s5-12) - (a1-53 part-tracker-init) - (a2-33 (-> *part-group-id-table* 59)) - (a3-15 0) - (t0-11 #f) - (t1-11 #f) - (t2-7 #f) - (t3-3 *launch-matrix*) - ) - (set! (-> t3-3 trans quad) (-> self control trans quad)) - ((the-as (function object object object object object object object object none) t9-46) - a0-118 - a1-53 - a2-33 - a3-15 - t0-11 - t1-11 - t2-7 - t3-3 - ) - ) - (-> s5-12 ppointer) - ) - ) + (part-tracker-spawn :to *entity-pool* :group group-burn-death :mat-joint (-> self control trans)) (target-death-anim (the-as spool-anim #f)) ) ((or (= v1-50 'drown) (= v1-50 'drown-death)) diff --git a/goal_src/jak2/engine/target/target-h.gc b/goal_src/jak2/engine/target/target-h.gc index da29ea944d..7c42dafc40 100644 --- a/goal_src/jak2/engine/target/target-h.gc +++ b/goal_src/jak2/engine/target/target-h.gc @@ -57,7 +57,7 @@ (define-extern smack-surface? (function symbol symbol :behavior target)) (define-extern target-height-above-ground (function float :behavior target)) (define-extern target-align-vel-z-adjust (function float float :behavior target)) -(define-extern part-tracker-init (function sparticle-launch-group time-frame (function part-tracker none) (pointer process-drawable) process matrix none :behavior part-tracker)) +(define-extern part-tracker-init (function sparticle-launch-group time-frame (function part-tracker none) uint process matrix none :behavior part-tracker)) (define-extern target-bonk-event-handler (function process int symbol event-message-block object :behavior target)) (define-extern target-attack-air-anim (function none :behavior target)) (define-extern *uppercut-mods* surface) diff --git a/goal_src/jak2/engine/target/target-handler.gc b/goal_src/jak2/engine/target/target-handler.gc index 455c3820e3..ce4a4a9ddf 100644 --- a/goal_src/jak2/engine/target/target-handler.gc +++ b/goal_src/jak2/engine/target/target-handler.gc @@ -137,43 +137,14 @@ ) (the-as handle #f) ) - (let ((gp-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-1 - (let ((t9-6 (method-of-type part-tracker activate))) - (t9-6 (the-as part-tracker gp-1) self (symbol->string (-> part-tracker symbol)) (the-as pointer #x70004000)) - ) - (let ((t9-7 run-function-in-process) - (a0-27 gp-1) - (a1-10 part-tracker-init) - (a2-9 (-> *part-group-id-table* 9)) - (a3-4 0) - (t0-2 #f) - (t1-0 #f) - (t2-0 #f) - (t3-0 *launch-matrix*) + (part-tracker-spawn + :to self + :group group-target-hit + :mat-joint (the-as vector (if (logtest? (-> self attack-info-rec mask) (attack-mask intersection)) + (-> self attack-info-rec intersection) + (the-as vector (-> self control root-prim prim-core)) + ) ) - (set! (-> t3-0 trans quad) - (-> (the-as vector (if (logtest? (-> self attack-info-rec mask) (attack-mask intersection)) - (-> self attack-info-rec intersection) - (the-as vector (-> self control root-prim prim-core)) - ) - ) - quad - ) - ) - ((the-as (function object object object object object object object object none) t9-7) - a0-27 - a1-10 - a2-9 - a3-4 - t0-2 - t1-0 - t2-0 - t3-0 - ) - ) - (-> gp-1 ppointer) - ) ) (target-timed-invulnerable (the-as time-frame (if (logtest? (-> self attack-info-rec mask) (attack-mask invinc-time)) @@ -248,11 +219,7 @@ (sv-704 matrix) ) (set! sv-224 arg5) - (let* ((s3-0 arg0) - (s4-0 (if (type? s3-0 process-focusable) - s3-0 - ) - ) + (let* ((s4-0 (the-as process (as-type arg0 process-focusable))) (s3-1 (and s4-0 (focus-test? (the-as process-focusable s4-0) dead hit))) ) (set! sv-96 @@ -405,7 +372,7 @@ (let ((s3-4 run-function-in-process) (s2-1 s4-1) (s1-1 part-tracker-init) - (s0-1 (-> *part-group-id-table* 10)) + (s0-1 group-spin-hit) ) (set! sv-240 0) (set! sv-256 (the-as symbol #f)) @@ -462,7 +429,7 @@ (let ((s3-6 run-function-in-process) (s2-3 s4-3) (s1-3 part-tracker-init) - (s0-3 (-> *part-group-id-table* 11)) + (s0-3 group-punch-hit) ) (set! sv-336 0) (set! sv-352 (the-as symbol #f)) @@ -500,7 +467,7 @@ (let ((s3-7 run-function-in-process) (s2-4 s4-4) (s1-4 part-tracker-init) - (s0-4 (-> *part-group-id-table* 11)) + (s0-4 group-punch-hit) ) (set! sv-432 0) (set! sv-448 (the-as symbol #f)) @@ -561,7 +528,7 @@ (let ((s3-8 run-function-in-process) (s2-5 s4-5) (s1-5 part-tracker-init) - (s0-5 (-> *part-group-id-table* 11)) + (s0-5 group-punch-hit) ) (set! sv-528 0) (set! sv-544 (the-as symbol #f)) @@ -599,7 +566,7 @@ (let ((s3-9 run-function-in-process) (s2-6 s4-6) (s1-6 part-tracker-init) - (s0-6 (-> *part-group-id-table* 11)) + (s0-6 group-punch-hit) ) (set! sv-624 0) (set! sv-640 (the-as symbol #f)) @@ -1465,7 +1432,7 @@ (vector-normalize! (vector-! s4-0 - (the-as vector (-> self control collision-spheres 0 prim-core)) + (-> self control collision-spheres 0 prim-core world-sphere) (-> self control actor-contact-pt) ) 1.0 diff --git a/goal_src/jak2/engine/target/target-turret-shot.gc b/goal_src/jak2/engine/target/target-turret-shot.gc index ffb12dca6b..c5348b9f60 100644 --- a/goal_src/jak2/engine/target/target-turret-shot.gc +++ b/goal_src/jak2/engine/target/target-turret-shot.gc @@ -195,12 +195,7 @@ :event (behavior ((proc process) (argc int) (message symbol) (block event-message-block)) (case message (('touched) - (let* ((toucher-proc proc) - (toucher (if (type? toucher-proc process-drawable) - (the-as process-drawable toucher-proc) - ) - ) - ) + (let ((toucher (as-type proc process-drawable))) (when toucher (-> toucher root) (send-event @@ -297,41 +292,7 @@ ) (set! (-> gp-0 quad) (-> root trans quad)) (vector+! gp-0 gp-0 v1-2) - (let ((s5-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-1 - (let ((t9-2 (method-of-type part-tracker activate))) - (t9-2 - (the-as part-tracker s5-1) - *entity-pool* - (symbol->string (-> part-tracker symbol)) - (the-as pointer #x70004000) - ) - ) - (let ((t9-3 run-function-in-process) - (a0-8 s5-1) - (a1-6 part-tracker-init) - (a2-4 (-> *part-group-id-table* 200)) - (a3-1 0) - (t0-0 #f) - (t1-0 #f) - (t2-0 #f) - (t3-0 *launch-matrix*) - ) - (set! (-> t3-0 trans quad) (-> gp-0 quad)) - ((the-as (function object object object object object object object object none) t9-3) - a0-8 - a1-6 - a2-4 - a3-1 - t0-0 - t1-0 - t2-0 - t3-0 - ) - ) - (-> s5-1 ppointer) - ) - ) + (part-tracker-spawn :to *entity-pool* :group group-turret-shot-hit :mat-joint gp-0) ) 0 (none) diff --git a/goal_src/jak2/engine/target/target-turret.gc b/goal_src/jak2/engine/target/target-turret.gc index 9e64c8ba22..670b4291b0 100644 --- a/goal_src/jak2/engine/target/target-turret.gc +++ b/goal_src/jak2/engine/target/target-turret.gc @@ -275,9 +275,9 @@ (dotimes (v1-3 30) (set! (-> this sprites v1-3 color w) (the int (* (-> this fade-interp) (- 1.0 (-> this offset))))) ) - (set-as-offset-from! (-> this sprites 1) (the-as vector4w (-> this sprites)) 44 0) - (set-as-offset-from! (-> this sprites 2) (the-as vector4w (-> this sprites)) 0 44) - (set-as-offset-from! (-> this sprites 3) (the-as vector4w (-> this sprites)) 44 44) + (set-as-offset-from! (-> this sprites 1) (-> this sprites 0 pos) 44 0) + (set-as-offset-from! (-> this sprites 2) (-> this sprites 0 pos) 0 44) + (set-as-offset-from! (-> this sprites 3) (-> this sprites 0 pos) 44 44) (dotimes (v1-6 16) (set! (-> this sprites (- 19 v1-6) scale-x) (if (< v1-6 (-> this values 0 current)) 0.7 @@ -285,22 +285,22 @@ ) ) ) - (set-as-offset-from! (-> this sprites 4) (the-as vector4w (-> this sprites)) 13 6) - (set-as-offset-from! (-> this sprites 5) (the-as vector4w (-> this sprites)) 25 10) - (set-as-offset-from! (-> this sprites 6) (the-as vector4w (-> this sprites)) 34 19) - (set-as-offset-from! (-> this sprites 7) (the-as vector4w (-> this sprites)) 39 32) - (set-as-offset-from! (-> this sprites 8) (the-as vector4w (-> this sprites)) 39 47) - (set-as-offset-from! (-> this sprites 9) (the-as vector4w (-> this sprites)) 34 59) - (set-as-offset-from! (-> this sprites 10) (the-as vector4w (-> this sprites)) 25 67) - (set-as-offset-from! (-> this sprites 11) (the-as vector4w (-> this sprites)) 13 71) - (set-as-offset-from! (-> this sprites 12) (the-as vector4w (-> this sprites)) -1 71) - (set-as-offset-from! (-> this sprites 13) (the-as vector4w (-> this sprites)) -14 67) - (set-as-offset-from! (-> this sprites 14) (the-as vector4w (-> this sprites)) -22 59) - (set-as-offset-from! (-> this sprites 15) (the-as vector4w (-> this sprites)) -27 47) - (set-as-offset-from! (-> this sprites 16) (the-as vector4w (-> this sprites)) -27 32) - (set-as-offset-from! (-> this sprites 17) (the-as vector4w (-> this sprites)) -22 19) - (set-as-offset-from! (-> this sprites 18) (the-as vector4w (-> this sprites)) -14 10) - (set-as-offset-from! (-> this sprites 19) (the-as vector4w (-> this sprites)) -1 6) + (set-as-offset-from! (-> this sprites 4) (-> this sprites 0 pos) 13 6) + (set-as-offset-from! (-> this sprites 5) (-> this sprites 0 pos) 25 10) + (set-as-offset-from! (-> this sprites 6) (-> this sprites 0 pos) 34 19) + (set-as-offset-from! (-> this sprites 7) (-> this sprites 0 pos) 39 32) + (set-as-offset-from! (-> this sprites 8) (-> this sprites 0 pos) 39 47) + (set-as-offset-from! (-> this sprites 9) (-> this sprites 0 pos) 34 59) + (set-as-offset-from! (-> this sprites 10) (-> this sprites 0 pos) 25 67) + (set-as-offset-from! (-> this sprites 11) (-> this sprites 0 pos) 13 71) + (set-as-offset-from! (-> this sprites 12) (-> this sprites 0 pos) -1 71) + (set-as-offset-from! (-> this sprites 13) (-> this sprites 0 pos) -14 67) + (set-as-offset-from! (-> this sprites 14) (-> this sprites 0 pos) -22 59) + (set-as-offset-from! (-> this sprites 15) (-> this sprites 0 pos) -27 47) + (set-as-offset-from! (-> this sprites 16) (-> this sprites 0 pos) -27 32) + (set-as-offset-from! (-> this sprites 17) (-> this sprites 0 pos) -22 19) + (set-as-offset-from! (-> this sprites 18) (-> this sprites 0 pos) -14 10) + (set-as-offset-from! (-> this sprites 19) (-> this sprites 0 pos) -1 6) (let ((f0-9 (the float (-> this values 1 current)))) (cond ((>= f0-9 100.0) @@ -342,15 +342,15 @@ ) ) ) - (set-as-offset-from! (-> this sprites 20) (the-as vector4w (-> this sprites)) 0 45) - (set-as-offset-from! (-> this sprites 22) (the-as vector4w (-> this sprites)) 0 44) - (set-as-offset-from! (-> this sprites 24) (the-as vector4w (-> this sprites)) 2 44) - (set-as-offset-from! (-> this sprites 26) (the-as vector4w (-> this sprites)) 2 45) - (set-as-offset-from! (-> this sprites 21) (the-as vector4w (-> this sprites)) 0 14) - (set-as-offset-from! (-> this sprites 23) (the-as vector4w (-> this sprites)) 0 44) - (set-as-offset-from! (-> this sprites 25) (the-as vector4w (-> this sprites)) -30 44) - (set-as-offset-from! (-> this sprites 27) (the-as vector4w (-> this sprites)) -30 14) - (set-as-offset-from! (-> this sprites 29) (the-as vector4w (-> this sprites)) -10 36) + (set-as-offset-from! (-> this sprites 20) (-> this sprites 0 pos) 0 45) + (set-as-offset-from! (-> this sprites 22) (-> this sprites 0 pos) 0 44) + (set-as-offset-from! (-> this sprites 24) (-> this sprites 0 pos) 2 44) + (set-as-offset-from! (-> this sprites 26) (-> this sprites 0 pos) 2 45) + (set-as-offset-from! (-> this sprites 21) (-> this sprites 0 pos) 0 14) + (set-as-offset-from! (-> this sprites 23) (-> this sprites 0 pos) 0 44) + (set-as-offset-from! (-> this sprites 25) (-> this sprites 0 pos) -30 44) + (set-as-offset-from! (-> this sprites 27) (-> this sprites 0 pos) -30 14) + (set-as-offset-from! (-> this sprites 29) (-> this sprites 0 pos) -10 36) (let ((f0-34 (if (and (= (-> this values 4 current) 1) (< 25 (mod (-> *display* game-clock frame-counter) 50))) 250.0 100.0 @@ -388,7 +388,7 @@ ) (set-as-offset-from! (-> this sprites 28) - (the-as vector4w (-> this sprites)) + (-> this sprites 0 pos) (the int (* -70.0 (sin f30-0))) (+ (the int (* -70.0 (cos f30-0))) 44) ) @@ -430,7 +430,7 @@ ) (('set-hud-pos) (set-hud-piece-position! - (the-as hud-sprite (-> this sprites)) + (-> this sprites 0) (the-as int (-> arg3 param 0)) (the-as int (+ (-> arg3 param 1) -4)) ) @@ -925,15 +925,9 @@ (new 'stack 'font-context *font-default-matrix* 32 320 0.0 (font-color default) (font-flags shadow kerning)) ) ) - (let ((v1-21 gp-1)) - (set! (-> v1-21 width) (the float 340)) - ) - (let ((v1-22 gp-1)) - (set! (-> v1-22 height) (the float 80)) - ) - (let ((v1-23 gp-1)) - (set! (-> v1-23 scale) 0.9) - ) + (set-width! gp-1 340) + (set-height! gp-1 80) + (set-scale! gp-1 0.9) (set! (-> gp-1 flags) (font-flags shadow kerning large)) (print-game-text (lookup-text! *common-text* (text-id press-triangle-to-use) #f) @@ -1059,14 +1053,10 @@ #f ) (('touch 'attack) - (let* ((gp-0 (-> block param 0)) - (s5-0 (the-as object (-> block param 1))) - (s4-0 proc) - (v1-21 (if (type? s4-0 projectile) - s4-0 - ) - ) - ) + (let ((gp-0 (-> block param 0)) + (s5-0 (the-as object (-> block param 1))) + (v1-21 (the-as object (as-type proc projectile))) + ) (when (and gp-0 v1-21) (case (-> (the-as attack-info s5-0) mode) (('wasp-shot 'guard-shot) @@ -1486,36 +1476,7 @@ (let ((gp-3 (new 'stack-no-clear 'vector))) (set! (-> gp-3 quad) (-> self root trans quad)) (+! (-> gp-3 y) 8192.0) - (let ((s5-2 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-2 - (let ((t9-13 (method-of-type part-tracker activate))) - (t9-13 (the-as part-tracker s5-2) self (symbol->string (-> part-tracker symbol)) (the-as pointer #x70004000)) - ) - (let ((t9-14 run-function-in-process) - (a0-20 s5-2) - (a1-14 part-tracker-init) - (a2-12 (-> *part-group-id-table* 201)) - (a3-4 0) - (t0-2 #f) - (t1-2 #f) - (t2-1 #f) - (t3-0 *launch-matrix*) - ) - (set! (-> t3-0 trans quad) (-> gp-3 quad)) - ((the-as (function object object object object object object object object none) t9-14) - a0-20 - a1-14 - a2-12 - a3-4 - t0-2 - t1-2 - t2-1 - t3-0 - ) - ) - (-> s5-2 ppointer) - ) - ) + (part-tracker-spawn :to self :group group-turret-explode :mat-joint gp-3) ) (while (-> self child) (suspend) @@ -1539,19 +1500,9 @@ (set! (-> a1-0 quad) (-> a0-1 quad)) (set! (-> a1-0 w) 409600.0) (countdown (s3-0 (fill-actor-list-for-sphere *actor-hash* (the-as sphere a1-0) s5-0 32)) - (let* ((s2-0 (-> s5-0 s3-0)) - (a0-5 (if (type? s2-0 collide-shape) - s2-0 - ) - ) - ) + (let ((a0-5 (as-type (-> s5-0 s3-0) collide-shape))) (when a0-5 - (let* ((s1-0 (-> a0-5 process)) - (s2-1 (if (type? s1-0 process-focusable) - s1-0 - ) - ) - ) + (let ((s2-1 (the-as process-drawable (as-type (-> a0-5 process) process-focusable)))) (when (and s2-1 (logtest? (process-mask enemy) (-> s2-1 mask)) (logtest? (process-mask collectable) (-> s2-1 mask)) @@ -2021,7 +1972,7 @@ (when (not (paused?)) (let ((gp-0 (handle->process (-> *camera* focus handle)))) (when gp-0 - (quaternion->matrix (the-as matrix (-> self tracking)) (get-quat (the-as process-focusable gp-0) 1)) + (quaternion->matrix (-> self tracking inv-mat) (get-quat (the-as process-focusable gp-0) 1)) (let ((v1-9 (handle->process (-> (the-as target gp-0) turret handle)))) (if v1-9 (vector<-cspace! (-> self trans) (-> (the-as process-focusable v1-9) node-list data 12)) @@ -2104,9 +2055,7 @@ (the-as attack-info gp-0) (-> block param 1) self - (if (type? proc process-drawable) - proc - ) + (the-as process (as-type proc process-drawable)) (the-as touching-shapes-entry (-> block param 0)) ) (case (-> (the-as attack-info gp-0) mode) @@ -2257,12 +2206,7 @@ (set! (-> self control unknown-vector38 quad) (-> self control trans quad)) (set! (-> self control unknown-vector39 quad) (-> self control quat quad)) (set! (-> self control unknown-vector40 quad) (-> self control quat quad)) - (let* ((s4-0 (handle->process arg0)) - (s5-0 (if (type? s4-0 process-drawable) - s4-0 - ) - ) - ) + (let ((s5-0 (the-as process (as-type (handle->process arg0) process-drawable)))) (when s5-0 (vector-matrix*! (-> self control unknown-vector38) @@ -2277,12 +2221,7 @@ (until (ja-done? 0) (let ((f30-0 (sin (lerp-scale 0.0 16384.0 (ja-aframe-num 0) 0.0 12.0)))) (let ((f28-0 (lerp-scale 0.0 1.0 (ja-aframe-num 0) 0.0 12.0))) - (let* ((s5-3 (handle->process arg0)) - (a0-39 (if (type? s5-3 process-drawable) - s5-3 - ) - ) - ) + (let ((a0-39 (the-as process (as-type (handle->process arg0) process-drawable)))) (if a0-39 (set! (-> self alt-cam-pos quad) (-> (the-as process-focusable a0-39) root trans quad)) ) diff --git a/goal_src/jak2/engine/target/target.gc b/goal_src/jak2/engine/target/target.gc index 5acb706a2b..f4d210ef00 100644 --- a/goal_src/jak2/engine/target/target.gc +++ b/goal_src/jak2/engine/target/target.gc @@ -2116,18 +2116,9 @@ (set-time! (-> self control sliding-start-time)) (set-time! (-> self gun combo-window-start)) (set! (-> self gun combo-window-state) (-> self state name)) - (let ((v1-13 (if (type? proc process-focusable) - proc - ) - ) - ) + (let ((v1-13 (the-as process (as-type proc process-focusable)))) (when v1-13 - (let* ((s5-1 (-> (the-as target v1-13) control)) - (v1-14 (if (type? s5-1 collide-shape) - s5-1 - ) - ) - ) + (let ((v1-14 (the-as control-info (as-type (-> (the-as target v1-13) control) collide-shape)))) (if (and v1-14 (or (logtest? (-> v1-14 root-prim prim-core collide-as) (collide-spec enemy)) (logtest? (-> v1-14 root-prim prim-core action) (collide-action no-smack)) ) @@ -2445,36 +2436,7 @@ (>= 0.0 (vector-dot (-> s5-3 best-other-tri normal) (-> self control impact-ctrl dir))) ) (when (= (-> s5-3 best-other-tri pat mode) (pat-mode wall)) - (let ((s4-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when s4-0 - (let ((t9-34 (method-of-type part-tracker activate))) - (t9-34 (the-as part-tracker s4-0) self (symbol->string (-> part-tracker symbol)) (the-as pointer #x70004000)) - ) - (let ((t9-35 run-function-in-process) - (a0-62 s4-0) - (a1-17 part-tracker-init) - (a2-13 (-> *part-group-id-table* 11)) - (a3-8 0) - (t0-6 #f) - (t1-5 #f) - (t2-5 #f) - (t3-3 *launch-matrix*) - ) - (set! (-> t3-3 trans quad) (-> s5-3 best-other-tri intersect quad)) - ((the-as (function object object object object object object object object none) t9-35) - a0-62 - a1-17 - a2-13 - a3-8 - t0-6 - t1-5 - t2-5 - t3-3 - ) - ) - (-> s4-0 ppointer) - ) - ) + (part-tracker-spawn :to self :group group-punch-hit :mat-joint (-> s5-3 best-other-tri intersect)) (let ((t1-6 (if (using-gun? self) (the-as sound-name (static-sound-name "gun-punch-w-hit")) (the-as sound-name (static-sound-name "punch-w-hit")) diff --git a/goal_src/jak2/levels/atoll/atoll-scenes.gc b/goal_src/jak2/levels/atoll/atoll-scenes.gc index 8d90be7e18..2da9a075d1 100644 --- a/goal_src/jak2/levels/atoll/atoll-scenes.gc +++ b/goal_src/jak2/levels/atoll/atoll-scenes.gc @@ -1830,41 +1830,7 @@ (when *scene-player* (let ((gp-0 (new 'stack-no-clear 'vector))) (set-vector! gp-0 2075545.2 103013.99 -3889876.5 1.0) - (let ((s5-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-0 - (let ((t9-1 (method-of-type part-tracker activate))) - (t9-1 - (the-as part-tracker s5-0) - (ppointer->process *scene-player*) - (symbol->string (-> part-tracker symbol)) - (the-as pointer #x70004000) - ) - ) - (let ((t9-2 run-function-in-process) - (a0-6 s5-0) - (a1-2 part-tracker-init) - (a2-4 (-> *part-group-id-table* 323)) - (a3-1 0) - (t0-0 #f) - (t1-0 #f) - (t2-0 #f) - (t3-0 *launch-matrix*) - ) - (set! (-> t3-0 trans quad) (-> gp-0 quad)) - ((the-as (function object object object object object object object object none) t9-2) - a0-6 - a1-2 - a2-4 - a3-1 - t0-0 - t1-0 - t2-0 - t3-0 - ) - ) - (-> s5-0 ppointer) - ) - ) + (part-tracker-spawn :to (ppointer->process *scene-player*) :group group-atoll-tank-explosion :mat-joint gp-0) ) ) ) @@ -2381,41 +2347,8 @@ (new 'static 'vector :y 819.2 :w 1.0) ) ) - (s5-0 (get-process *default-dead-pool* part-tracker #x4000)) ) - (when s5-0 - (let ((t9-1 (method-of-type part-tracker activate))) - (t9-1 - (the-as part-tracker s5-0) - *entity-pool* - (symbol->string (-> part-tracker symbol)) - (the-as pointer #x70004000) - ) - ) - (let ((t9-2 run-function-in-process) - (a0-3 s5-0) - (a1-2 part-tracker-init) - (a2-4 (-> *part-group-id-table* 121)) - (a3-1 0) - (t0-0 #f) - (t1-0 #f) - (t2-0 #f) - (t3-0 *launch-matrix*) - ) - (set! (-> t3-0 trans quad) (-> gp-1 quad)) - ((the-as (function object object object object object object object object none) t9-2) - a0-3 - a1-2 - a2-4 - a3-1 - t0-0 - t1-0 - t2-0 - t3-0 - ) - ) - (-> s5-0 ppointer) - ) + (part-tracker-spawn :to *entity-pool* :group group-part-water-splash :mat-joint gp-1) ) ) ) diff --git a/goal_src/jak2/levels/atoll/atoll-tank.gc b/goal_src/jak2/levels/atoll/atoll-tank.gc index c8b9c2e129..fe72271739 100644 --- a/goal_src/jak2/levels/atoll/atoll-tank.gc +++ b/goal_src/jak2/levels/atoll/atoll-tank.gc @@ -1795,8 +1795,8 @@ ) (transform-post) (setup-masks (-> this draw) 0 2) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 321) this)) - (set! (-> this aftermath-part) (create-launch-control (-> *part-group-id-table* 322) this)) + (set! (-> this part) (create-launch-control group-atoll-tank-intact this)) + (set! (-> this aftermath-part) (create-launch-control group-atoll-tank-aftermath this)) (cond ((task-node-closed? (game-task-node atoll-sig-tank)) (go (method-of-object this idle)) diff --git a/goal_src/jak2/levels/atoll/juicer.gc b/goal_src/jak2/levels/atoll/juicer.gc index 5f5aeb6074..d77b0967ee 100644 --- a/goal_src/jak2/levels/atoll/juicer.gc +++ b/goal_src/jak2/levels/atoll/juicer.gc @@ -147,11 +147,7 @@ (defmethod deal-damage! ((this juicer-shot) (arg0 process) (arg1 event-message-block)) "Constructs an [[attack-info]] according to the projectile's `options`" - (let ((a0-2 (if (type? arg0 process-focusable) - arg0 - ) - ) - ) + (let ((a0-2 (the-as process (as-type arg0 process-focusable)))) (when a0-2 (set! (-> this victim) (process->handle a0-2)) #t @@ -205,41 +201,7 @@ (defmethod spawn-shell-particles ((this juicer-shot)) "TODO - confirm" (spawn-impact-particles this) - (let ((s5-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-0 - (let ((t9-2 (method-of-type part-tracker activate))) - (t9-2 - (the-as part-tracker s5-0) - *entity-pool* - (symbol->string (-> part-tracker symbol)) - (the-as pointer #x70004000) - ) - ) - (let ((t9-3 run-function-in-process) - (a0-4 s5-0) - (a1-2 part-tracker-init) - (a2-4 (-> *part-group-id-table* 1061)) - (a3-1 0) - (t0-0 #f) - (t1-0 #f) - (t2-0 #f) - (t3-0 *launch-matrix*) - ) - (set! (-> t3-0 trans quad) (-> this root trans quad)) - ((the-as (function object object object object object object object object none) t9-3) - a0-4 - a1-2 - a2-4 - a3-1 - t0-0 - t1-0 - t2-0 - t3-0 - ) - ) - (-> s5-0 ppointer) - ) - ) + (part-tracker-spawn :to *entity-pool* :group group-juicer-shot-hit :mat-joint (-> this root trans)) 0 (none) ) diff --git a/goal_src/jak2/levels/castle/boss/castle-baron.gc b/goal_src/jak2/levels/castle/boss/castle-baron.gc index 10d8f2d3a9..b01905dab8 100644 --- a/goal_src/jak2/levels/castle/boss/castle-baron.gc +++ b/goal_src/jak2/levels/castle/boss/castle-baron.gc @@ -136,12 +136,7 @@ (defmethod commited-to-ride? ((this cboss-elevator)) "@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 - ) - ) - ) + (let ((a0-2 (the-as target (as-type *target* process-focusable)))) (when a0-2 (let* ((v1-1 (get-trans a0-2 0)) (gp-2 (vector-! (new 'stack-no-clear 'vector) v1-1 (-> this root trans))) @@ -1369,15 +1364,15 @@ (defmethod draw ((this hud-krew-boss)) (set-hud-piece-position! (-> this sprites 1) (the int (+ 462.0 (* 130.0 (-> this offset)))) 350) - (set-as-offset-from! (the-as hud-sprite (-> this sprites)) (the-as vector4w (-> this sprites 1)) -32 0) - (set-as-offset-from! (-> this sprites 2) (the-as vector4w (-> this sprites 1)) -96 0) - (set-as-offset-from! (-> this sprites 5) (the-as vector4w (-> this sprites 1)) -62 14) - (set-as-offset-from! (-> this sprites 6) (the-as vector4w (-> this sprites 1)) -32 14) + (set-as-offset-from! (-> this sprites 0) (-> this sprites 1 pos) -32 0) + (set-as-offset-from! (-> this sprites 2) (-> this sprites 1 pos) -96 0) + (set-as-offset-from! (-> this sprites 5) (-> this sprites 1 pos) -62 14) + (set-as-offset-from! (-> this sprites 6) (-> this sprites 1 pos) -32 14) (let ((s5-0 (-> this values 0 current)) (f28-0 (* 0.01 (the float (-> this values 1 current)))) (f30-0 (* 0.01 (the float (-> this values 2 current)))) ) - (set-as-offset-from! (-> this sprites 3) (the-as vector4w (-> this sprites 1)) -92 15) + (set-as-offset-from! (-> this sprites 3) (-> this sprites 1 pos) -92 15) (cond ((zero? s5-0) (set! (-> this sprites 3 color x) 0) @@ -1396,7 +1391,7 @@ ) ) (set! (-> this sprites 3 scale-x) (* -7.25 f28-0)) - (set-as-offset-from! (-> this sprites 4) (the-as vector4w (-> this sprites 1)) -84 4) + (set-as-offset-from! (-> this sprites 4) (-> this sprites 1 pos) -84 4) (cond ((< f30-0 0.5) (set! (-> this sprites 4 color x) 255) @@ -2833,17 +2828,7 @@ ) (let ((gp-2 (the int (* 300.0 (- 3.0 (* 0.5 (+ -1.0 (the float (-> self gameplay-pass))))))))) (when (and (-> self spawn-charge) (time-elapsed? (-> self state-time) (+ gp-2 -300))) - (process-spawn - part-tracker - :init part-tracker-init - (-> *part-group-id-table* 1204) - 300 - #f - #f - self - 33 - :to self - ) + (process-spawn part-tracker :init part-tracker-init group-krew-boss-gun-charge 300 #f #f self 33 :to self) (set! (-> self spawn-charge) #f) ) (when (and (= (-> self next-shooting-frame) 100) (time-elapsed? (-> self state-time) gp-2)) @@ -2868,12 +2853,7 @@ (+! (-> self next-shooting-frame) 5) ) ) - (let* ((gp-5 *target*) - (a0-40 (if (type? gp-5 process-focusable) - gp-5 - ) - ) - ) + (let ((a0-40 (the-as target (as-type *target* process-focusable)))) (when a0-40 (let ((gp-6 (new 'stack-no-clear 'projectile-init-by-other-params))) (let ((s4-0 (new 'stack-no-clear 'vector))) diff --git a/goal_src/jak2/levels/city/bombbot/bombbot.gc b/goal_src/jak2/levels/city/bombbot/bombbot.gc index f7edce59a4..562dbab2ff 100644 --- a/goal_src/jak2/levels/city/bombbot/bombbot.gc +++ b/goal_src/jak2/levels/city/bombbot/bombbot.gc @@ -819,7 +819,7 @@ (set! (-> a1-0 y) 22528.0) (set! (-> a1-0 z) 24576.0) (set! (-> a1-0 w) 1.0) - (vector-! (the-as vector v1-0) a0-2 a1-0) + (vector-! (-> v1-0 min) a0-2 a1-0) ) (let ((v1-2 (-> s5-0 bbox max)) (a0-4 (-> this root trans)) @@ -1025,36 +1025,7 @@ ) (when (and (!= f30-1 0.0) (< 16384.0 (vector-length (-> s1-0 speed)))) (activate! *camera-smush-control* f30-1 37 600 1.0 0.1 (-> pp clock)) - (let ((s0-2 (get-process *default-dead-pool* part-tracker #x4000))) - (when s0-2 - (let ((t9-11 (method-of-type part-tracker activate))) - (t9-11 (the-as part-tracker s0-2) this (symbol->string (-> part-tracker symbol)) (the-as pointer #x70004000)) - ) - (let ((t9-12 run-function-in-process) - (a0-39 s0-2) - (a1-22 part-tracker-init) - (a2-29 (-> *part-group-id-table* 21)) - (a3-5 0) - (t0-3 #f) - (t1-2 #f) - (t2-1 #f) - (t3-0 *launch-matrix*) - ) - (set! (-> t3-0 trans quad) (-> s1-0 position quad)) - ((the-as (function object object object object object object object object none) t9-12) - a0-39 - a1-22 - a2-29 - a3-5 - t0-3 - t1-2 - t2-1 - t3-0 - ) - ) - (-> s0-2 ppointer) - ) - ) + (part-tracker-spawn :to this :group group-land-poof-stn :mat-joint (-> s1-0 position)) (when (or (zero? s4-0) (= s4-0 1)) (let ((s0-3 sound-play-by-name)) (set! sv-944 (make-u128 0 (the-as uint #x6b6c61772d6262))) @@ -1356,19 +1327,9 @@ (s3-0 (new 'stack-no-clear 'array 'collide-shape 64)) ) (countdown (s2-0 (fill-actor-list-for-sphere *actor-hash* (the-as sphere arg0) s3-0 64)) - (let* ((s1-0 (-> s3-0 s2-0)) - (a0-3 (if (type? s1-0 collide-shape) - s1-0 - ) - ) - ) + (let ((a0-3 (as-type (-> s3-0 s2-0) collide-shape))) (when a0-3 - (let* ((s0-0 (-> a0-3 process)) - (s1-1 (if (type? s0-0 process-focusable) - s0-0 - ) - ) - ) + (let ((s1-1 (the-as process-drawable (as-type (-> a0-3 process) process-focusable)))) (when (and s1-1 (!= this s1-1) (not (focus-test? this inactive)) @@ -1725,20 +1686,14 @@ ) ) ((logtest? (-> (the-as collide-shape-prim v1-25) prim-core collide-as) (collide-spec civilian)) - (let ((s1-1 process-drawable-shock-skel-effect) - (s0-1 (-> (the-as collide-shape-prim v1-25) cshape process)) - ) - (s1-1 - (if (type? s0-1 process-focusable) - s0-1 - ) - (-> *lightning-spec-id-table* 5) - lightning-probe-callback - (-> *part-id-table* 166) - 2048.0 - -1 - -1 - ) + (process-drawable-shock-skel-effect + (the-as process-drawable (as-type (-> (the-as collide-shape-prim v1-25) cshape process) process-focusable)) + (-> *lightning-spec-id-table* 5) + lightning-probe-callback + (-> *part-id-table* 166) + 2048.0 + -1 + -1 ) ) ((logtest? (-> (the-as collide-shape-prim v1-25) prim-core collide-as) (collide-spec jak)) @@ -1987,7 +1942,7 @@ (-> 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 trans)) + (vector-! (new 'stack-no-clear 'vector) (-> self city-path node gp-1 position) (-> self root trans)) (-> *bombbot-nav-enemy-info* run-travel-speed) ) ) @@ -2007,7 +1962,7 @@ (nav-enemy-method-176 self) ) ) - (if (< (vector-vector-xz-distance (-> self root trans) (the-as vector (-> self city-path node gp-1))) 32768.0) + (if (< (vector-vector-xz-distance (-> self root trans) (-> self city-path node gp-1 position)) 32768.0) (set! (-> self current-node) (the-as uint @@ -2115,7 +2070,7 @@ (set! (-> s5-1 spawn-point quad) (-> gp-1 quad)) (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 group) group-bombbot-explode0) (set! (-> s5-1 collide-with) (collide-spec backgnd jak crate civilian enemy obstacle vehicle-sphere hit-by-others-list player-list pusher) ) @@ -2965,22 +2920,16 @@ (let ((gp-0 0)) (let ((s5-0 10000)) (dotimes (s4-0 3) - (let* ((s2-0 (-> self slave s4-0 process 0)) - (s3-0 (if (type? s2-0 bombbot) - (the-as bombbot s2-0) - ) - ) - ) + (let ((s3-0 (as-type (-> self slave s4-0 process 0) bombbot))) (when s3-0 (+! gp-0 1) - (let ((v1-14 - (the int (* 0.000030517578 (vector-vector-xz-distance - (-> s3-0 root trans) - (the-as vector (-> s3-0 city-path node (+ (-> s3-0 city-path node-count) -1))) - ) - ) + (let ((v1-14 (the int (* 0.000030517578 (vector-vector-xz-distance + (-> s3-0 root trans) + (-> s3-0 city-path node (+ (-> s3-0 city-path node-count) -1) position) + ) + ) + ) ) - ) ) (if (< v1-14 s5-0) (set! s5-0 v1-14) @@ -3087,12 +3036,7 @@ ) (add-process *gui-control* self (gui-channel sig) (gui-action play) "bbotxplo" -99.0 0) (dotimes (gp-1 3) - (let* ((s5-0 (-> self slave gp-1 process 0)) - (a0-7 (if (type? s5-0 bombbot) - s5-0 - ) - ) - ) + (let ((a0-7 (the-as process (as-type (-> self slave gp-1 process 0) bombbot)))) (if a0-7 (send-event a0-7 'explode) ) @@ -3176,12 +3120,7 @@ (let ((gp-0 0)) 10000 (dotimes (s5-0 3) - (let* ((s4-0 (-> self slave s5-0 process 0)) - (v1-6 (if (type? s4-0 bombbot) - (the-as bombbot s4-0) - ) - ) - ) + (let ((v1-6 (as-type (-> self slave s5-0 process 0) bombbot))) (when v1-6 (+! gp-0 1) (when (= (-> v1-6 current-node) (+ (-> v1-6 city-path node-count) -1)) diff --git a/goal_src/jak2/levels/city/burning-bush/ctywide-bbush.gc b/goal_src/jak2/levels/city/burning-bush/ctywide-bbush.gc index 925267b325..58c7493f62 100644 --- a/goal_src/jak2/levels/city/burning-bush/ctywide-bbush.gc +++ b/goal_src/jak2/levels/city/burning-bush/ctywide-bbush.gc @@ -297,7 +297,7 @@ (let ((t9-2 run-function-in-process) (a0-2 gp-0) (a1-2 part-tracker-init) - (a2-4 (-> *part-group-id-table* 1054)) + (a2-4 group-rolling-spawn-ring) (a3-1 0) (t0-0 race-ring-set-particle-rotation-callback) (t1-0 (-> self ppointer)) @@ -338,7 +338,7 @@ (let ((t9-3 run-function-in-process) (a0-6 gp-0) (a1-3 part-tracker-init) - (a2-4 (-> *part-group-id-table* 1055)) + (a2-4 group-rolling-explode-ring) (a3-1 0) (t0-0 race-ring-set-particle-rotation-callback) (t1-0 (-> self ppointer)) @@ -381,7 +381,7 @@ (let ((t9-2 run-function-in-process) (a0-9 gp-0) (a1-3 part-tracker-init) - (a2-4 (-> *part-group-id-table* 1053)) + (a2-4 group-rolling-ring) (a3-1 0) (t0-0 race-ring-set-particle-rotation-callback) (t1-0 (-> self ppointer)) @@ -466,7 +466,7 @@ (set! (-> this rot-y) (+ 16384.0 (quaternion-y-angle (-> this root quat)))) (set! (-> this last-target-pos quad) (-> (target-pos 0) quad)) (set-vector! (-> this cyl axis) (cos (-> this rot-y)) 0.0 (- (sin (-> this rot-y))) 1.0) - (vector+float*! (the-as vector (-> this cyl)) (-> this root trans) (-> this cyl axis) -2048.0) + (vector+float*! (-> this cyl origin) (-> this root trans) (-> this cyl axis) -2048.0) (set! (-> this cyl radius) 24576.0) (set! (-> this cyl length) 4096.0) 0 @@ -1757,7 +1757,7 @@ (set! (-> self root trans quad) (-> arg0 quad)) (quaternion-copy! (-> self root quat) *unity-quaternion*) (bush-collect-method-23 self) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 1056) self)) + (set! (-> self part) (create-launch-control group-bush-collect self)) (go-virtual idle) (none) ) @@ -1770,7 +1770,7 @@ (set! (-> self root trans quad) (-> arg0 quad)) (quaternion-copy! (-> self root quat) *unity-quaternion*) (bush-collect-method-23 self) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 82) self)) + (set! (-> self part) (create-launch-control group-eco-dark-pill self)) (go-virtual idle) (none) ) @@ -1791,7 +1791,7 @@ (the-as skeleton-group (art-group-get-by-name *level* "skel-homing-beacon" (the-as (pointer uint32) #f))) (the-as pair 0) ) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 1056) self)) + (set! (-> self part) (create-launch-control group-bush-collect self)) (go-virtual idle) (none) ) @@ -3012,18 +3012,14 @@ ) (defmethod draw ((this hud-homing-beacon)) - (set-hud-piece-position! - (the-as hud-sprite (-> this sprites)) - (the int (+ 457.0 (* 130.0 (-> this offset)))) - 160 - ) + (set-hud-piece-position! (-> this sprites 0) (the int (+ 457.0 (* 130.0 (-> this offset)))) 160) (set! (-> this sprites 0 scale-x) 1.0) (set! (-> this sprites 0 scale-y) 1.0) (set! (-> this sprites 0 flags) (the-as uint 4)) (set! (-> this strings 0 scale) 0.5) (set! (-> this strings 0 flags) (font-flags kerning middle large)) (format (clear (-> this strings 0 text)) "~D" (-> this values 0 current)) - (set-as-offset-from! (the-as hud-sprite (-> this strings 0 pos)) (the-as vector4w (-> this sprites)) -16 60) + (set-as-offset-from! (the-as hud-sprite (-> this strings 0 pos)) (-> this sprites 0 pos) -16 60) ((method-of-type hud draw) this) 0 (none) @@ -3049,18 +3045,14 @@ ) (defmethod draw ((this hud-dark-eco-pickup)) - (set-hud-piece-position! - (the-as hud-sprite (-> this sprites)) - (the int (+ 457.0 (* 130.0 (-> this offset)))) - 180 - ) + (set-hud-piece-position! (-> this sprites 0) (the int (+ 457.0 (* 130.0 (-> this offset)))) 180) (set! (-> this sprites 0 scale-x) 1.0) (set! (-> this sprites 0 scale-y) 1.0) (set! (-> this sprites 0 flags) (the-as uint 4)) (set! (-> this strings 0 flags) (font-flags kerning middle large)) (set! (-> this strings 0 scale) 0.5) (format (clear (-> this strings 0 text)) "~D" (-> this values 0 current)) - (set-as-offset-from! (the-as hud-sprite (-> this strings 0 pos)) (the-as vector4w (-> this sprites)) -16 26) + (set-as-offset-from! (the-as hud-sprite (-> this strings 0 pos)) (-> this sprites 0 pos) -16 26) ((method-of-type hud draw) this) 0 (none) @@ -3085,18 +3077,14 @@ ) (defmethod draw ((this hud-green-eco-pickup)) - (set-hud-piece-position! - (the-as hud-sprite (-> this sprites)) - (the int (+ 457.0 (* 130.0 (-> this offset)))) - 180 - ) + (set-hud-piece-position! (-> this sprites 0) (the int (+ 457.0 (* 130.0 (-> this offset)))) 180) (set! (-> this sprites 0 scale-x) 1.0) (set! (-> this sprites 0 scale-y) 1.0) (set! (-> this sprites 0 flags) (the-as uint 4)) (set! (-> this strings 0 flags) (font-flags kerning middle large)) (set! (-> this strings 0 scale) 0.5) (format (clear (-> this strings 0 text)) "~D" (-> this values 0 current)) - (set-as-offset-from! (the-as hud-sprite (-> this strings 0 pos)) (the-as vector4w (-> this sprites)) -16 26) + (set-as-offset-from! (the-as hud-sprite (-> this strings 0 pos)) (-> this sprites 0 pos) -16 26) ((method-of-type hud draw) this) 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 7462c87b47..c4144d7bdb 100644 --- a/goal_src/jak2/levels/city/common/pilot-states.gc +++ b/goal_src/jak2/levels/city/common/pilot-states.gc @@ -155,9 +155,9 @@ (set! (-> gp-0 accel-array 3 quad) (-> gp-0 accel-array 2 quad)) (set! (-> gp-0 accel-array 2 quad) (-> gp-0 accel-array 1 quad)) (set! (-> gp-0 accel-array 1 quad) (-> gp-0 accel-array 0 quad)) - (vehicle-method-115 (the-as vehicle s5-0) (the-as vector (-> gp-0 accel-array))) + (vehicle-method-115 (the-as vehicle s5-0) (-> gp-0 accel-array 0)) (vector-reset! (-> s4-0 0)) - (vector+float*! (-> s4-0 0) (-> s4-0 0) (the-as vector (-> gp-0 accel-array)) 1.0) + (vector+float*! (-> s4-0 0) (-> s4-0 0) (-> gp-0 accel-array 0) 1.0) (vector+float*! (-> s4-0 0) (-> s4-0 0) (-> gp-0 accel-array 1) 1.0) (vector+float*! (-> s4-0 0) (-> s4-0 0) (-> gp-0 accel-array 2) 1.0) (vector+float*! (-> s4-0 0) (-> s4-0 0) (-> gp-0 accel-array 3) 1.0) @@ -476,12 +476,7 @@ ) :exit target-pilot-exit :trans (behavior () - (let* ((s5-0 (handle->process (-> self pilot vehicle))) - (gp-0 (if (type? s5-0 vehicle) - s5-0 - ) - ) - ) + (let ((gp-0 (the-as process (as-type (handle->process (-> self pilot vehicle)) vehicle)))) (cond ((not gp-0) (ja-channel-set! 0) @@ -579,14 +574,9 @@ :event target-standard-event-handler :exit target-pilot-exit :trans (behavior () - (let ((gp-0 (handle->process (-> self pilot vehicle)))) - (when (not (if (type? gp-0 vehicle) - gp-0 - ) - ) - (ja-channel-set! 0) - (go target-falling #f) - ) + (when (not (the-as process (as-type (handle->process (-> self pilot vehicle)) vehicle))) + (ja-channel-set! 0) + (go target-falling #f) ) ) :code (behavior () @@ -734,12 +724,7 @@ (set! (-> gp-0 pilot-start-grab-pos quad) (-> self control trans quad)) (set! (-> gp-0 actor-handle) (-> arg0 handle)) ((-> target-edge-grab enter)) - (let* ((s5-1 (handle->process (-> gp-0 actor-handle))) - (a0-9 (if (type? s5-1 process-focusable) - s5-1 - ) - ) - ) + (let ((a0-9 (the-as process (as-type (handle->process (-> gp-0 actor-handle)) process-focusable)))) (set! (-> gp-0 pilot-edge-grab?) (if (and a0-9 (< 24576.0 (fabs (- (-> (get-trans (the-as process-focusable a0-9) 0) y) (-> self control trans y)))) @@ -823,121 +808,20 @@ (logior! (-> self focus-status) (focus-status dead)) (case arg0 (('melt 'grenade 'explode) - (suspend-for (seconds 0.2)) + (suspend-for (seconds 0.2) + ) (case arg0 (('dark-eco-pool) (sound-play "death-darkeco") - (let ((s5-2 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-2 - (let ((t9-14 (method-of-type part-tracker activate))) - (t9-14 - (the-as part-tracker s5-2) - *entity-pool* - (symbol->string (-> part-tracker symbol)) - (the-as pointer #x70004000) - ) - ) - (let ((t9-15 run-function-in-process) - (a0-36 s5-2) - (a1-19 part-tracker-init) - (a2-11 (-> *part-group-id-table* 56)) - (a3-7 0) - (t0-6 #f) - (t1-6 #f) - (t2-1 #f) - (t3-0 *launch-matrix*) - ) - (set! (-> t3-0 trans quad) (-> self control trans quad)) - ((the-as (function object object object object object object object object none) t9-15) - a0-36 - a1-19 - a2-11 - a3-7 - t0-6 - t1-6 - t2-1 - t3-0 - ) - ) - (-> s5-2 ppointer) - ) - ) + (part-tracker-spawn :to *entity-pool* :group group-dark-eco-death :mat-joint (-> self control trans)) ) (('grenade 'explode) (sound-play "explosion") - (let ((s5-4 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-4 - (let ((t9-19 (method-of-type part-tracker activate))) - (t9-19 - (the-as part-tracker s5-4) - *entity-pool* - (symbol->string (-> part-tracker symbol)) - (the-as pointer #x70004000) - ) - ) - (let ((t9-20 run-function-in-process) - (a0-45 s5-4) - (a1-24 part-tracker-init) - (a2-17 (-> *part-group-id-table* 58)) - (a3-10 0) - (t0-8 #f) - (t1-8 #f) - (t2-3 #f) - (t3-1 *launch-matrix*) - ) - (set! (-> t3-1 trans quad) (-> self control trans quad)) - ((the-as (function object object object object object object object object none) t9-20) - a0-45 - a1-24 - a2-17 - a3-10 - t0-8 - t1-8 - t2-3 - t3-1 - ) - ) - (-> s5-4 ppointer) - ) - ) + (part-tracker-spawn :to *entity-pool* :group group-explode-death :mat-joint (-> self control trans)) ) (('lava 'melt) (sound-play "death-melt") - (let ((s5-6 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-6 - (let ((t9-24 (method-of-type part-tracker activate))) - (t9-24 - (the-as part-tracker s5-6) - *entity-pool* - (symbol->string (-> part-tracker symbol)) - (the-as pointer #x70004000) - ) - ) - (let ((t9-25 run-function-in-process) - (a0-52 s5-6) - (a1-29 part-tracker-init) - (a2-23 (-> *part-group-id-table* 57)) - (a3-13 0) - (t0-10 #f) - (t1-10 #f) - (t2-5 #f) - (t3-2 *launch-matrix*) - ) - (set! (-> t3-2 trans quad) (-> self control trans quad)) - ((the-as (function object object object object object object object object none) t9-25) - a0-52 - a1-29 - a2-23 - a3-13 - t0-10 - t1-10 - t2-5 - t3-2 - ) - ) - (-> s5-6 ppointer) - ) - ) + (part-tracker-spawn :to *entity-pool* :group group-lava-death :mat-joint (-> self control trans)) ) ) (let ((v1-73 (-> self control root-prim))) @@ -946,7 +830,8 @@ ) 0 (ja-channel-set! 0) - (suspend-for (seconds 1.8)) + (suspend-for (seconds 1.8) + ) ) (('endlessfall) (sound-play "death-fall") @@ -975,7 +860,8 @@ ) ) ) - (suspend-for (seconds 0.5)) + (suspend-for (seconds 0.5) + ) ) (('bot) (set! (-> self trans-hook) #f) diff --git a/goal_src/jak2/levels/city/ctywide-obs.gc b/goal_src/jak2/levels/city/ctywide-obs.gc index b783deb910..f9f4884e08 100644 --- a/goal_src/jak2/levels/city/ctywide-obs.gc +++ b/goal_src/jak2/levels/city/ctywide-obs.gc @@ -256,12 +256,7 @@ (let ((v1-5 (the-as object (-> block param 1)))) (when (!= (-> (the-as attack-info v1-5) id) (-> self incoming-attack-id)) (set! (-> self incoming-attack-id) (-> (the-as attack-info v1-5) id)) - (let* ((s5-0 proc) - (s3-0 (if (type? s5-0 process-drawable) - (the-as process-drawable s5-0) - ) - ) - ) + (let ((s3-0 (as-type proc process-drawable))) (when s3-0 (let ((s5-1 (process-spawn manipy @@ -358,18 +353,9 @@ (set! (-> self flash) 0.375) ) (+! (-> self touch-count) 1) - (let ((v1-83 (if (type? proc process-focusable) - (the-as process-focusable proc) - ) - ) - ) + (let ((v1-83 (as-type proc process-focusable))) (when v1-83 - (let* ((gp-1 (-> v1-83 root)) - (a0-45 (if (type? gp-1 collide-shape) - gp-1 - ) - ) - ) + (let ((a0-45 (as-type (-> v1-83 root) collide-shape))) (if (and a0-45 (logtest? (-> a0-45 root-prim prim-core collide-as) (collide-spec jak))) (security-wall-method-23 self) ) @@ -499,13 +485,13 @@ (vector+! (-> s1-0 trans) s4-0 s3-0) (vector-float*! (-> s1-0 trans) (-> s1-0 trans) 0.5) (+! (-> s1-0 trans y) (/ arg1 2)) - (vector-! (the-as vector (-> s2-2 vector)) s3-0 s4-0) - (let ((f30-1 (vector-normalize-ret-len! (the-as vector (-> s2-2 vector)) 1.0))) + (vector-! (-> s2-2 vector 0) s3-0 s4-0) + (let ((f30-1 (vector-normalize-ret-len! (-> s2-2 vector 0) 1.0))) (set! (-> s1-0 scale x) (/ f30-1 METER_LENGTH)) (set! (-> s1-0 scale y) (/ arg1 METER_LENGTH)) (set! (-> s1-0 scale z) 1.0) (set! (-> s2-2 vector 1 quad) (-> (new 'static 'vector :y 1.0 :w 1.0) quad)) - (vector-cross! (-> s2-2 vector 2) (the-as vector (-> s2-2 vector)) (-> s2-2 vector 1)) + (vector-cross! (-> s2-2 vector 2) (-> s2-2 vector 0) (-> s2-2 vector 1)) (vector-normalize! (-> s2-2 vector 2) 1.0) (matrix->quaternion (-> s1-0 quat) s2-2) (set! (-> this plane quad) (-> s2-2 vector 2 quad)) @@ -943,7 +929,7 @@ (set! (-> self num-sparts) (the-as uint 0)) (set! (-> self hack-counter) (the-as uint 4)) (set! (-> self count-sparts) (the-as uint 0)) - (spawn-with-cspace (-> self part) (the-as cspace (-> self node-list data))) + (spawn-with-cspace (-> self part) (-> self node-list data 0)) (ja-post) ) ) @@ -977,7 +963,7 @@ (defmethod fruit-stand-method-29 ((this fruit-stand)) (logior! (-> this mask) (process-mask crate)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 185) this)) + (set! (-> this part) (create-launch-control group-ctywide-fruit this)) 0 (none) ) @@ -2115,7 +2101,7 @@ (set! (-> this jm-turret) (new 'process 'joint-mod (joint-mod-mode joint-set*) this 6)) (set! (-> this jm-gunsL) (new 'process 'joint-mod (joint-mod-mode joint-set*) this 7)) (set! (-> this jm-gunsR) (new 'process 'joint-mod (joint-mod-mode joint-set*) this 8)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 186) this)) + (set! (-> this part) (create-launch-control group-cty-guard-turret-hit this)) (set! (-> this id) (res-lump-value arg0 'extra-id int :default (the-as uint128 -1) :time -1000000000.0)) (set! (-> this destroyed) #f) (set! (-> this hit-points) 6) @@ -2558,7 +2544,7 @@ (let ((t9-8 run-function-in-process) (a0-14 gp-2) (a1-10 part-tracker-init) - (a2-7 (-> *part-group-id-table* 161)) + (a2-7 group-vehicle-explosion) (a3-2 0) (t0-0 #f) (t1-0 #f) @@ -2701,12 +2687,7 @@ (gp-3 (new 'stack-no-clear 'matrix)) ) (when (and (nonzero? (-> self handle)) (handle->process (-> self handle))) - (let* ((s3-0 (handle->process (-> self handle))) - (a0-25 (if (type? s3-0 process-focusable) - (the-as process-focusable s3-0) - ) - ) - ) + (let ((a0-25 (as-type (handle->process (-> self handle)) process-focusable))) (when a0-25 (vector-! s4-0 (-> a0-25 root trans) (-> self root trans)) (set! (-> self y-rot) (deg-seek @@ -2731,19 +2712,9 @@ (s3-0 (new 'stack-no-clear 'array 'collide-shape 64)) ) (countdown (s2-0 (fill-actor-list-for-sphere *actor-hash* (the-as sphere arg0) s3-0 64)) - (let* ((s1-0 (-> s3-0 s2-0)) - (a0-3 (if (type? s1-0 collide-shape) - s1-0 - ) - ) - ) + (let ((a0-3 (as-type (-> s3-0 s2-0) collide-shape))) (when a0-3 - (let* ((s0-0 (-> a0-3 process)) - (s1-1 (if (type? s0-0 process-focusable) - (the-as process-focusable s0-0) - ) - ) - ) + (let ((s1-1 (as-type (-> a0-3 process) process-focusable))) (when (and s1-1 (!= this s1-1) (not (focus-test? s1-1 inactive)) @@ -2817,7 +2788,7 @@ (defmethod propa-method-30 ((this propa)) (logior! (-> this mask) (process-mask crate)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 170) this)) + (set! (-> this part) (create-launch-control group-ctywide-baron-propoganda-holo this)) 0 (none) ) @@ -2984,15 +2955,9 @@ ) ) (set! (-> s5-1 flags) (font-flags shadow kerning large)) - (let ((v1-37 s5-1)) - (set! (-> v1-37 width) (the float 340)) - ) - (let ((v1-38 s5-1)) - (set! (-> v1-38 height) (the float 80)) - ) - (let ((v1-39 s5-1)) - (set! (-> v1-39 scale) 0.9) - ) + (set-width! s5-1 340) + (set-height! s5-1 80) + (set-scale! s5-1 0.9) (let ((s4-1 print-game-text)) (format (clear *temp-string*) (lookup-text! *common-text* (text-id press-triangle-to-talk) #f)) (s4-1 *temp-string* s5-1 #f 44 (bucket-id progress)) @@ -3107,7 +3072,7 @@ (.mul.x.vf.xyz acc vf5 vf7) (.add.mul.w.vf.xyz vf6 vf4 vf0 acc) (.svf (&-> v1-17 quad) vf6) - (t9-3 (the-as matrix a0-5) (vector-! a1-2 v1-17 gp-0) (-> *camera* local-down)) + (t9-3 (-> a0-5 inv-mat) (vector-! a1-2 v1-17 gp-0) (-> *camera* local-down)) ) ) ) @@ -3400,22 +3365,10 @@ ) ) (set! (-> s1-0 flags) (font-flags shadow kerning middle middle-vert large)) - (let ((v1-48 s1-0)) - (set! (-> v1-48 width) (the float 440)) - ) - (let ((v1-49 s1-0)) - (set! (-> v1-49 height) (the float 50)) - ) - (let ((v1-50 s1-0)) - (set! (-> v1-50 scale) 1.0) - ) - (let ((v1-51 s1-0) - (a1-3 s3-2) - (a0-59 40) - ) - (set! (-> v1-51 origin x) (the float a1-3)) - (set! (-> v1-51 origin y) (the float a0-59)) - ) + (set-width! s1-0 440) + (set-height! s1-0 50) + (set-scale! s1-0 1.0) + (set-origin! s1-0 s3-2 40) (let ((a0-60 s1-0)) (set! (-> a0-60 color) (font-color progress-old-yellow)) ) @@ -3427,24 +3380,14 @@ ) (s0-0 *temp-string* s1-0 #f 44 (bucket-id progress)) ) - (let ((v1-55 s1-0)) - (set! (-> v1-55 height) (the float s4-9)) - ) + (set-height! s1-0 s4-9) (dotimes (s0-1 gp-0) - (let ((v1-56 s1-0) - (a1-7 s3-2) - (a0-66 s2-0) - ) - (set! (-> v1-56 origin x) (the float a1-7)) - (set! (-> v1-56 origin y) (the float a0-66)) - ) - (let ((v1-57 s1-0)) - (set! (-> v1-57 scale) (if (= s0-1 s5-0) - 0.8 - 0.6 - ) - ) - ) + (set-origin! s1-0 s3-2 s2-0) + (set-scale! s1-0 (if (= s0-1 s5-0) + 0.8 + 0.6 + ) + ) (let ((a0-68 s1-0)) (set! (-> a0-68 color) (if (= s0-1 s5-0) (font-color progress-old-selected) @@ -3601,7 +3544,7 @@ (.mul.x.vf.xyz acc vf5 vf7) (.add.mul.w.vf.xyz vf6 vf4 vf0 acc) (.svf (&-> v1-96 quad) vf6) - (t9-66 (the-as matrix a0-112) (vector-! a1-30 v1-96 gp-1) (-> *camera* local-down)) + (t9-66 (-> a0-112 inv-mat) (vector-! a1-30 v1-96 gp-1) (-> *camera* local-down)) ) ) ) @@ -3754,9 +3697,9 @@ ) (defmethod burning-bush-method-31 ((this burning-bush)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 173) this)) - (set! (-> this part-off) (create-launch-control (-> *part-group-id-table* 171) this)) - (set! (-> this part-alert) (create-launch-control (-> *part-group-id-table* 172) this)) + (set! (-> this part) (create-launch-control group-ctywide-burning-bush-holo-on this)) + (set! (-> this part-off) (create-launch-control group-ctywide-burning-bush-holo-off this)) + (set! (-> this part-alert) (create-launch-control group-ctywide-burning-bush-holo-red this)) 0 (none) ) diff --git a/goal_src/jak2/levels/city/farm/ctyfarm-obs.gc b/goal_src/jak2/levels/city/farm/ctyfarm-obs.gc index 1a8943ea82..5db11c2623 100644 --- a/goal_src/jak2/levels/city/farm/ctyfarm-obs.gc +++ b/goal_src/jak2/levels/city/farm/ctyfarm-obs.gc @@ -993,7 +993,7 @@ ) (quaternion*! (-> arg1 quat) (-> arg1 quat) (quaternion-vector-angle! (new 'stack-no-clear 'quaternion) - (the-as vector (-> s4-0 shakers s3-0)) + (-> s4-0 shakers s3-0 axis) (-> s4-0 shakers s3-0 shake) ) ) @@ -1133,7 +1133,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 1025) + group-farm-marrow-explode 300 #f #f @@ -1281,7 +1281,7 @@ ) (quaternion*! (-> arg1 quat) (-> arg1 quat) (quaternion-vector-angle! (new 'stack-no-clear 'quaternion) - (the-as vector (-> s4-0 shakers s3-0)) + (-> s4-0 shakers s3-0 axis) (-> s4-0 shakers s3-0 shake) ) ) @@ -1382,7 +1382,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 1026) + group-farm-beetree-explode 300 #f #f @@ -1524,7 +1524,7 @@ ) (quaternion*! (-> arg1 quat) (-> arg1 quat) (quaternion-vector-angle! (new 'stack-no-clear 'quaternion) - (the-as vector (-> s4-0 shakers s3-0)) + (-> s4-0 shakers s3-0 axis) (-> s4-0 shakers s3-0 shake) ) ) @@ -1625,7 +1625,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 1027) + group-farm-cabbage-explode 300 #f #f @@ -1769,7 +1769,7 @@ ) (quaternion*! (-> arg1 quat) (-> arg1 quat) (quaternion-vector-angle! (new 'stack-no-clear 'quaternion) - (the-as vector (-> s4-0 shakers s3-0)) + (-> s4-0 shakers s3-0 axis) (-> s4-0 shakers s3-0 shake) ) ) @@ -1855,7 +1855,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 1028) + group-farm-small-cabbage-explode 300 #f #f @@ -1999,7 +1999,7 @@ ) (quaternion*! (-> arg1 quat) (-> arg1 quat) (quaternion-vector-angle! (new 'stack-no-clear 'quaternion) - (the-as vector (-> s4-0 shakers s3-0)) + (-> s4-0 shakers s3-0 axis) (-> s4-0 shakers s3-0 shake) ) ) @@ -2130,7 +2130,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 1029) + group-farm-chilirots-explode 300 #f #f diff --git a/goal_src/jak2/levels/city/market/ctymark-obs.gc b/goal_src/jak2/levels/city/market/ctymark-obs.gc index 26da6a249e..4ce2c53146 100644 --- a/goal_src/jak2/levels/city/market/ctymark-obs.gc +++ b/goal_src/jak2/levels/city/market/ctymark-obs.gc @@ -1116,7 +1116,7 @@ (the-as skeleton-group (art-group-get-by-name *level* "skel-market-basket-a" (the-as (pointer uint32) #f))) (the-as pair 0) ) - (set! (-> this part-explode) (-> *part-group-id-table* 1007)) + (set! (-> this part-explode) group-mbasket-a-explode) (set! (-> this draw light-index) (the-as uint 10)) (transform-post) (go (method-of-object this idle)) @@ -1192,7 +1192,7 @@ (the-as skeleton-group (art-group-get-by-name *level* "skel-market-basket-b" (the-as (pointer uint32) #f))) (the-as pair 0) ) - (set! (-> this part-explode) (-> *part-group-id-table* 1008)) + (set! (-> this part-explode) group-mbasket-b-explode) (set! (-> this draw light-index) (the-as uint 10)) (transform-post) (go (method-of-object this idle)) @@ -1268,7 +1268,7 @@ (the-as skeleton-group (art-group-get-by-name *level* "skel-market-crate" (the-as (pointer uint32) #f))) (the-as pair 0) ) - (set! (-> this part-explode) (-> *part-group-id-table* 1006)) + (set! (-> this part-explode) group-mcrate-explode) (set! (-> this draw light-index) (the-as uint 10)) (transform-post) (go (method-of-object this idle)) @@ -1344,7 +1344,7 @@ (the-as skeleton-group (art-group-get-by-name *level* "skel-market-sack-a" (the-as (pointer uint32) #f))) (the-as pair 0) ) - (set! (-> this part-explode) (-> *part-group-id-table* 1009)) + (set! (-> this part-explode) group-msack-a-explode) (set! (-> this draw light-index) (the-as uint 10)) (transform-post) (go (method-of-object this idle)) @@ -1420,7 +1420,7 @@ (the-as skeleton-group (art-group-get-by-name *level* "skel-market-sack-b" (the-as (pointer uint32) #f))) (the-as pair 0) ) - (set! (-> this part-explode) (-> *part-group-id-table* 1010)) + (set! (-> this part-explode) group-msack-b-explode) (set! (-> this draw light-index) (the-as uint 10)) (transform-post) (go (method-of-object this idle)) diff --git a/goal_src/jak2/levels/city/onintent/onin-game.gc b/goal_src/jak2/levels/city/onintent/onin-game.gc index 6f9dfb3a1a..552612d8fe 100644 --- a/goal_src/jak2/levels/city/onintent/onin-game.gc +++ b/goal_src/jak2/levels/city/onintent/onin-game.gc @@ -1802,16 +1802,16 @@ (v1-5 (-> self bubble-type)) (a2-4 (cond ((zero? v1-5) - (-> *part-group-id-table* 807) + group-onin-bubble-birth-triangle ) ((= v1-5 1) - (-> *part-group-id-table* 808) + group-onin-bubble-birth-circle ) ((= v1-5 2) - (-> *part-group-id-table* 810) + group-onin-bubble-birth-x ) (else - (-> *part-group-id-table* 809) + group-onin-bubble-birth-square ) ) ) @@ -1865,16 +1865,16 @@ (v1-8 (-> self bubble-type)) (a2-6 (cond ((zero? v1-8) - (-> *part-group-id-table* 803) + group-onin-bubble-pop-triangle ) ((= v1-8 1) - (-> *part-group-id-table* 804) + group-onin-bubble-pop-circle ) ((= v1-8 2) - (-> *part-group-id-table* 806) + group-onin-bubble-pop-x ) (else - (-> *part-group-id-table* 805) + group-onin-bubble-pop-square ) ) ) @@ -1939,16 +1939,16 @@ (v1-16 (-> self bubble-type)) (a2-4 (cond ((zero? v1-16) - (-> *part-group-id-table* 811) + group-onin-bubble-land-triangle ) ((= v1-16 1) - (-> *part-group-id-table* 812) + group-onin-bubble-land-circle ) ((= v1-16 2) - (-> *part-group-id-table* 814) + group-onin-bubble-land-x ) (else - (-> *part-group-id-table* 813) + group-onin-bubble-land-square ) ) ) @@ -2002,16 +2002,16 @@ (set! (-> self part) (create-launch-control (cond ((zero? arg1) - (-> *part-group-id-table* 799) + group-onin-bubble-triangle ) ((= arg1 1) - (-> *part-group-id-table* 800) + group-onin-bubble-circle ) ((= arg1 2) - (-> *part-group-id-table* 802) + group-onin-bubble-x ) (else - (-> *part-group-id-table* 801) + group-onin-bubble-square ) ) self @@ -2245,12 +2245,7 @@ (s2-0 (-> this child)) ) (while s2-0 - (let* ((s1-0 (ppointer->process s2-0)) - (v1-2 (if (type? s1-0 onin-game-bubble) - (the-as onin-game-bubble s1-0) - ) - ) - ) + (let ((v1-2 (as-type (ppointer->process s2-0) onin-game-bubble))) (when (and v1-2 (= (-> v1-2 bubble-type) arg0) (or (not s4-0) (< (-> v1-2 bubble-start-time) s3-0))) (set! s4-0 v1-2) (set! s3-0 (the-as int (-> v1-2 bubble-start-time))) diff --git a/goal_src/jak2/levels/city/port/ctyport-part.gc b/goal_src/jak2/levels/city/port/ctyport-part.gc index 45f6928171..a368ecba93 100644 --- a/goal_src/jak2/levels/city/port/ctyport-part.gc +++ b/goal_src/jak2/levels/city/port/ctyport-part.gc @@ -3576,7 +3576,7 @@ (the-as skeleton-group (art-group-get-by-name *level* "skel-farthy" (the-as (pointer uint32) #f))) (the-as pair 0) ) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 969) this)) + (set! (-> this part) (create-launch-control group-farthy-halo this)) ) ) (set! (-> this draw light-index) (the-as uint 10)) diff --git a/goal_src/jak2/levels/city/port/portrun/portrun.gc b/goal_src/jak2/levels/city/port/portrun/portrun.gc index 7b75d41451..d10ddd3a3c 100644 --- a/goal_src/jak2/levels/city/port/portrun/portrun.gc +++ b/goal_src/jak2/levels/city/port/portrun/portrun.gc @@ -186,13 +186,9 @@ ) (defmethod draw ((this hud-cargo)) - (set-hud-piece-position! - (the-as hud-sprite (-> this sprites)) - (the int (+ 457.0 (* 130.0 (-> this offset)))) - 205 - ) + (set-hud-piece-position! (-> this sprites 0) (the int (+ 457.0 (* 130.0 (-> this offset)))) 205) (format (clear (-> this strings 0 text)) "~D" (-> this values 0 current)) - (set-as-offset-from! (the-as hud-sprite (-> this strings 0 pos)) (the-as vector4w (-> this sprites)) -19 27) + (set-as-offset-from! (the-as hud-sprite (-> this strings 0 pos)) (-> this sprites 0 pos) -19 27) ((method-of-type hud draw) this) 0 (none) @@ -1000,7 +996,7 @@ (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 group) group-vehicle-explosion) (set! (-> gp-2 collide-with) (collide-spec jak crate hit-by-others-list player-list)) (set! (-> gp-2 penetrate-using) (penetrate explode)) (explosion-spawn self explosion gp-2) @@ -1008,36 +1004,7 @@ ) (else (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))) - (t9-12 (the-as part-tracker gp-4) self (symbol->string (-> part-tracker symbol)) (the-as pointer #x70004000)) - ) - (let ((t9-13 run-function-in-process) - (a0-31 gp-4) - (a1-14 part-tracker-init) - (a2-14 (-> *part-group-id-table* 161)) - (a3-5 0) - (t0-3 #f) - (t1-2 #f) - (t2-2 #f) - (t3-0 *launch-matrix*) - ) - (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 - a2-14 - a3-5 - t0-3 - t1-2 - t2-2 - t3-0 - ) - ) - (-> gp-4 ppointer) - ) - ) + (part-tracker-spawn :to self :group group-vehicle-explosion :mat-joint (-> self root trans)) ) ) ) @@ -1330,41 +1297,7 @@ ) 0 (logior! (-> self draw status) (draw-control-status no-draw)) - (let ((s5-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-1 - (let ((t9-3 (method-of-type part-tracker activate))) - (t9-3 - (the-as part-tracker s5-1) - *entity-pool* - (symbol->string (-> part-tracker symbol)) - (the-as pointer #x70004000) - ) - ) - (let ((t9-4 run-function-in-process) - (a0-8 s5-1) - (a1-4 part-tracker-init) - (a2-6 (-> *part-group-id-table* 1057)) - (a3-2 0) - (t0-0 #f) - (t1-0 #f) - (t2-0 #f) - (t3-0 *launch-matrix*) - ) - (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 - a2-6 - a3-2 - t0-0 - t1-0 - t2-0 - t3-0 - ) - ) - (-> s5-1 ppointer) - ) - ) + (part-tracker-spawn :to *entity-pool* :group group-cargo-explosion :mat-joint (-> self root trans)) (process-spawn joint-exploder (art-group-get-by-name *level* "skel-ctyport-cargo-explode" (the-as (pointer uint32) #f)) @@ -1842,12 +1775,7 @@ (dotimes (s5-0 (-> self max-count)) (when (zero? (-> self data-int32 s5-0)) (when (-> self slave s5-0) - (let* ((s3-0 (handle->process (-> self slave s5-0))) - (s4-0 (if (type? s3-0 process-focusable) - s3-0 - ) - ) - ) + (let ((s4-0 (the-as process (as-type (handle->process (-> self slave s5-0)) process-focusable)))) (when (not gp-0) (set! gp-0 #t) (send-event s4-0 'focus-camera) 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 9cf31e41e6..e3ae31c08d 100644 --- a/goal_src/jak2/levels/city/port/race/errol-chal.gc +++ b/goal_src/jak2/levels/city/port/race/errol-chal.gc @@ -542,8 +542,8 @@ ;; WARN: Return type mismatch vehicle-city-racer vs race-bike-a. -(defmethod relocate ((this race-bike-a) (arg0 int)) - (the-as race-bike-a ((method-of-type vehicle-city-racer relocate) this arg0)) +(defmethod relocate ((this race-bike-a) (offset int)) + (the-as race-bike-a ((method-of-type vehicle-city-racer relocate) this offset)) ) (defmethod allocate-and-init-cshape ((this race-bike-a)) @@ -618,8 +618,8 @@ ;; WARN: Return type mismatch vehicle-racer vs race-bike-b. -(defmethod relocate ((this race-bike-b) (arg0 int)) - (the-as race-bike-b ((method-of-type vehicle-racer relocate) this arg0)) +(defmethod relocate ((this race-bike-b) (offset int)) + (the-as race-bike-b ((method-of-type vehicle-racer relocate) this offset)) ) (defmethod allocate-and-init-cshape ((this race-bike-b)) @@ -717,12 +717,7 @@ :event (behavior ((proc process) (argc int) (message symbol) (block event-message-block)) (case message (('touched) - (let* ((s4-0 (-> (the-as vehicle proc) root)) - (gp-0 (if (type? s4-0 collide-shape-moving) - s4-0 - ) - ) - ) + (let ((gp-0 (as-type (-> (the-as vehicle proc) root) collide-shape-moving))) (when gp-0 (let ((s4-1 (new 'stack-no-clear 'vehicle-control-point))) (set! (-> s4-1 local-pos quad) (-> gp-0 trans quad)) @@ -745,7 +740,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 1059) + group-turbo-ring-explode 0 #f #f @@ -835,7 +830,7 @@ (set! (-> this plane w) (- (vector-dot (-> this plane) (-> this root trans)))) (update-transforms (-> this root)) (set! (-> this player-got) #f) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 1058) this)) + (set! (-> this part) (create-launch-control group-turbo-ring this)) (if (not (-> this persistent)) (set! (-> this minimap) (add-icon! *minimap* this (the-as uint 15) (the-as int #f) (the-as vector #t) 0)) ) diff --git a/goal_src/jak2/levels/city/protect/protect.gc b/goal_src/jak2/levels/city/protect/protect.gc index ec7fc501e2..afe7c62bbe 100644 --- a/goal_src/jak2/levels/city/protect/protect.gc +++ b/goal_src/jak2/levels/city/protect/protect.gc @@ -69,11 +69,11 @@ ;; WARN: Return type mismatch entity-perm-status vs none. (defmethod init-from-entity! ((this seal-of-mar) (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" + This commonly includes things such as: + - stack size + - collision information + - loading the skeleton group / bones + - sounds" (process-entity-status! this (entity-perm-status dead) #t) (none) ) @@ -87,7 +87,7 @@ This commonly includes things such as: (set! (-> self root trans quad) (-> arg0 quad)) (quaternion-copy! (-> self root quat) (the-as quaternion arg1)) (set! (-> self root scale quad) (-> arg2 quad)) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 182) self)) + (set! (-> self part) (create-launch-control group-slums-seal-of-mar-glow self)) (set! (-> self trans-y) (-> arg0 y)) (seal-of-mar-method-23 self) (go-virtual idle) @@ -442,12 +442,7 @@ This commonly includes things such as: (set! (-> s4-2 speeches?) #t) (set! (-> s3-2 y) 0.0) ) - (let* ((s5-2 (entity-nav-mesh-by-aid (the-as actor-id 9070))) - (a0-16 (if (type? s5-2 entity-nav-mesh) - s5-2 - ) - ) - ) + (let ((a0-16 (as-type (entity-nav-mesh-by-aid (the-as actor-id 9070)) entity-nav-mesh))) (when a0-16 (set! (-> s4-2 nav-mesh) (-> a0-16 nav-mesh)) (set! (-> self slave gp-1) (ppointer->handle (process-spawn transport s4-2 :to self))) diff --git a/goal_src/jak2/levels/city/traffic/citizen/guard.gc b/goal_src/jak2/levels/city/traffic/citizen/guard.gc index b6dbe99c23..08430020a2 100644 --- a/goal_src/jak2/levels/city/traffic/citizen/guard.gc +++ b/goal_src/jak2/levels/city/traffic/citizen/guard.gc @@ -499,12 +499,7 @@ (('hit 'hit-flinch 'hit-knocked) (speech-control-method-13 *speech-control* (the-as handle this)) (logior! (-> this flags) (citizen-flag hostile)) - (let* ((s0-0 (handle->process (-> this incoming attacker-handle))) - (s1-0 (if (type? s0-0 process-focusable) - s0-0 - ) - ) - ) + (let ((s1-0 (the-as process (as-type (handle->process (-> this incoming attacker-handle)) process-focusable)))) (when s1-0 (speech-control-method-12 *speech-control* this (speech-type speech-type-11)) (trigger-alert this 1 (the-as target s1-0)) @@ -539,15 +534,10 @@ (case (-> v1-38 danger-type) (((traffic-danger-type tdt7)) (set! (-> this cp-factor) 20.0) - (let ((s5-1 (method-of-object this trigger-alert)) - (s4-1 1) - (s3-1 (handle->process (-> v1-38 handle))) - ) - (s5-1 this s4-1 (the-as target (if (type? s3-1 process-focusable) - s3-1 - ) - ) - ) + (trigger-alert + this + 1 + (the-as target (the-as process (as-type (handle->process (-> v1-38 handle)) process-focusable))) ) ) ) @@ -1099,18 +1089,10 @@ (case (-> arg0 behavior) ((5) (logior! (-> this flags) (citizen-flag persistent hostile)) - (let ((s4-0 (-> this focus)) - (s3-0 (method-of-type enemy-focus enemy-focus-method-13)) - (s5-1 (handle->process (-> arg0 handle))) - ) - (s3-0 - s4-0 - (the-as process-focusable (if (type? s5-1 process-focusable) - s5-1 - ) - ) - (enemy-aware enemy-aware-3) - ) + (enemy-focus-method-13 + (-> this focus) + (the-as process-focusable (the-as process (as-type (handle->process (-> arg0 handle)) process-focusable))) + (enemy-aware enemy-aware-3) ) (go (method-of-object this arrest)) ) @@ -1436,22 +1418,18 @@ ((< (fill-and-probe-using-line-sphere *collide-cache* s5-0) 0.0) 0 ) + ((and (the-as basic (as-type (-> s5-0 best-other-tri collide-ptr) collide-shape-prim)) + (< (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 + ) + ) + 2 + ) (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 - ) - ) - 2 - 0 - ) - ) + 0 ) ) ) @@ -1482,12 +1460,8 @@ (else (when (logtest? (enemy-flag multi-focus) (-> this enemy-flags)) (logclear! (-> this enemy-flags) (enemy-flag multi-focus)) - (let* ((s5-0 (handle->process (-> this traffic-target-status handle))) - (v1-21 (if (type? s5-0 process-focusable) - s5-0 - ) - ) - ) + (let ((v1-21 (the-as process (as-type (handle->process (-> this traffic-target-status handle)) process-focusable))) + ) (if (and v1-21 (!= (-> v1-21 type) target)) (set! (-> this traffic-target-status handle) (the-as handle #f)) ) @@ -1506,18 +1480,13 @@ ) ) ) - (let* ((s4-0 this) - (s3-0 (method-of-object s4-0 enemy-method-63)) - (s2-0 (handle->process (-> this traffic-target-status handle))) - ) - (s3-0 - s4-0 - (the-as process-focusable (if (type? s2-0 process-focusable) - s2-0 - ) - ) - (the-as enemy-aware #f) + (enemy-method-63 + this + (the-as + process-focusable + (the-as process (as-type (handle->process (-> this traffic-target-status handle)) process-focusable)) ) + (the-as enemy-aware #f) ) (let ((s4-1 (handle->process (-> this focus handle)))) (cond @@ -1818,11 +1787,7 @@ ) ) (let* ((s5-0 (-> self traffic-target-status)) - (s4-0 (handle->process (-> s5-0 handle))) - (gp-0 (if (type? s4-0 process-focusable) - (the-as process-focusable s4-0) - ) - ) + (gp-0 (as-type (handle->process (-> s5-0 handle)) process-focusable)) ) (if (or (focus-test? gp-0 inactive) (focus-test? gp-0 disable)) (set! gp-0 (the-as process-focusable #f)) @@ -2806,77 +2771,15 @@ (vector-orient-by-quat! s2-1 s2-1 a2-4) ) ) - (let ((s1-2 (get-process *default-dead-pool* part-tracker #x4000))) - (when s1-2 - (let ((t9-14 (method-of-type part-tracker activate))) - (t9-14 (the-as part-tracker s1-2) this (symbol->string (-> part-tracker symbol)) (the-as pointer #x70004000)) - ) - (let ((t9-15 run-function-in-process) - (a0-33 s1-2) - (a1-24 part-tracker-init) - (a2-9 (-> *part-group-id-table* 140)) - (a3-1 0) - (t0-0 #f) - (t1-0 #f) - (t2-0 #f) - (t3-0 *launch-matrix*) - ) - (set! (-> t3-0 trans quad) (-> s4-0 quad)) - ((the-as (function object object object object object object object object none) t9-15) - a0-33 - a1-24 - a2-9 - a3-1 - t0-0 - t1-0 - t2-0 - t3-0 - ) - ) - (-> s1-2 ppointer) - ) - ) - (let ((s1-3 (get-process *default-dead-pool* part-tracker #x4000))) - (when s1-3 - (let ((t9-17 (method-of-type part-tracker activate))) - (t9-17 (the-as part-tracker s1-3) this (symbol->string (-> part-tracker symbol)) (the-as pointer #x70004000)) - ) - (let ((t9-18 run-function-in-process) - (a0-36 s1-3) - (a1-27 part-tracker-init) - (a2-14 (-> *part-group-id-table* 140)) - (a3-3 0) - (t0-1 #f) - (t1-1 #f) - (t2-1 #f) - (t3-1 *launch-matrix*) - ) - (set! (-> t3-1 trans quad) (-> s5-0 quad)) - ((the-as (function object object object object object object object object none) t9-18) - a0-36 - a1-27 - a2-14 - a3-3 - t0-1 - t1-1 - t2-1 - t3-1 - ) - ) - (-> s1-3 ppointer) - ) - ) + (part-tracker-spawn :to this :group part-crimson-lightning-glow :mat-joint s4-0) + (part-tracker-spawn :to this :group part-crimson-lightning-glow :mat-joint s5-0) (set-point! (-> this l-control) 0 s4-0) (set-point! (-> this l-control) 1 s5-0) (set! (-> this l-control spec) (-> *lightning-spec-id-table* 13)) (+! (-> this l-control state points-to-draw) 2) - (let* ((s1-4 (-> s3-0 best-other-tri collide-ptr)) - (v1-43 (if (type? s1-4 collide-shape-prim) - s1-4 - ) - ) - (s1-5 #t) - ) + (let ((v1-43 (the-as basic (as-type (-> s3-0 best-other-tri collide-ptr) collide-shape-prim))) + (s1-5 #t) + ) (when v1-43 (set! s1-5 #f) (let ((s0-1 (new 'stack-no-clear 'projectile-init-by-other-params))) @@ -2898,66 +2801,8 @@ (spread-lightning-lazer (-> this l-control) s5-0 s2-1 (-> s3-0 best-other-tri normal)) ) (else - (let ((s3-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when s3-1 - (let ((t9-26 (method-of-type part-tracker activate))) - (t9-26 (the-as part-tracker s3-1) this (symbol->string (-> part-tracker symbol)) (the-as pointer #x70004000)) - ) - (let ((t9-27 run-function-in-process) - (a0-59 s3-1) - (a1-36 part-tracker-init) - (a2-23 (-> *part-group-id-table* 140)) - (a3-7 0) - (t0-3 #f) - (t1-2 #f) - (t2-2 #f) - (t3-2 *launch-matrix*) - ) - (set! (-> t3-2 trans quad) (-> s4-0 quad)) - ((the-as (function object object object object object object object object none) t9-27) - a0-59 - a1-36 - a2-23 - a3-7 - t0-3 - t1-2 - t2-2 - t3-2 - ) - ) - (-> s3-1 ppointer) - ) - ) - (let ((s3-2 (get-process *default-dead-pool* part-tracker #x4000))) - (when s3-2 - (let ((t9-29 (method-of-type part-tracker activate))) - (t9-29 (the-as part-tracker s3-2) this (symbol->string (-> part-tracker symbol)) (the-as pointer #x70004000)) - ) - (let ((t9-30 run-function-in-process) - (a0-62 s3-2) - (a1-39 part-tracker-init) - (a2-28 (-> *part-group-id-table* 140)) - (a3-9 0) - (t0-4 #f) - (t1-3 #f) - (t2-3 #f) - (t3-3 *launch-matrix*) - ) - (set! (-> t3-3 trans quad) (-> s5-0 quad)) - ((the-as (function object object object object object object object object none) t9-30) - a0-62 - a1-39 - a2-28 - a3-9 - t0-4 - t1-3 - t2-3 - t3-3 - ) - ) - (-> s3-2 ppointer) - ) - ) + (part-tracker-spawn :to this :group part-crimson-lightning-glow :mat-joint s4-0) + (part-tracker-spawn :to this :group part-crimson-lightning-glow :mat-joint s5-0) (set! (-> this l-control state points-to-draw) 9) (set! (-> this l-control spec) (-> *lightning-spec-id-table* 14)) (let ((v1-77 s4-0)) @@ -3228,12 +3073,7 @@ ) (defmethod crimson-guard-method-223 ((this crimson-guard) (arg0 float)) - (let* ((s3-0 (handle->process (-> this transport))) - (s4-0 (if (type? s3-0 process-focusable) - (the-as process-focusable s3-0) - ) - ) - ) + (let ((s4-0 (as-type (handle->process (-> this transport)) process-focusable))) (when s4-0 (let ((s2-0 (matrix<-transformq! (new 'stack-no-clear 'matrix) (the-as transformq (-> s4-0 root trans)))) (s3-1 (new 'stack-no-clear 'vector)) diff --git a/goal_src/jak2/levels/city/traffic/citizen/metalhead-flitter.gc b/goal_src/jak2/levels/city/traffic/citizen/metalhead-flitter.gc index 7475325cb7..16c5ed5192 100644 --- a/goal_src/jak2/levels/city/traffic/citizen/metalhead-flitter.gc +++ b/goal_src/jak2/levels/city/traffic/citizen/metalhead-flitter.gc @@ -308,78 +308,10 @@ :code (behavior () (case (-> self level name) (('ruins) - (let ((gp-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-0 - (let ((t9-1 (method-of-type part-tracker activate))) - (t9-1 - (the-as part-tracker gp-0) - *entity-pool* - (symbol->string (-> part-tracker symbol)) - (the-as pointer #x70004000) - ) - ) - (let ((t9-2 run-function-in-process) - (a0-4 gp-0) - (a1-2 part-tracker-init) - (a2-4 (-> *part-group-id-table* 163)) - (a3-1 0) - (t0-0 #f) - (t1-0 #f) - (t2-0 #f) - (t3-0 *launch-matrix*) - ) - (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 - a2-4 - a3-1 - t0-0 - t1-0 - t2-0 - t3-0 - ) - ) - (-> gp-0 ppointer) - ) - ) + (part-tracker-spawn :to *entity-pool* :group (-> *part-group-id-table* 163) :mat-joint (-> self root trans)) ) (('strip) - (let ((gp-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-1 - (let ((t9-4 (method-of-type part-tracker activate))) - (t9-4 - (the-as part-tracker gp-1) - *entity-pool* - (symbol->string (-> part-tracker symbol)) - (the-as pointer #x70004000) - ) - ) - (let ((t9-5 run-function-in-process) - (a0-8 gp-1) - (a1-5 part-tracker-init) - (a2-9 (-> *part-group-id-table* 164)) - (a3-3 0) - (t0-1 #f) - (t1-1 #f) - (t2-1 #f) - (t3-1 *launch-matrix*) - ) - (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 - a2-9 - a3-3 - t0-1 - t1-1 - t2-1 - t3-1 - ) - ) - (-> gp-1 ppointer) - ) - ) + (part-tracker-spawn :to *entity-pool* :group (-> *part-group-id-table* 164) :mat-joint (-> self root trans)) ) ) (suspend-for (seconds 0.6) @@ -421,41 +353,7 @@ (ja-no-eval :group! flitter-ambush-jump-ja :num! (seek!)) (until #f (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))) - (t9-3 - (the-as part-tracker gp-0) - *entity-pool* - (symbol->string (-> part-tracker symbol)) - (the-as pointer #x70004000) - ) - ) - (let ((t9-4 run-function-in-process) - (a0-4 gp-0) - (a1-4 part-tracker-init) - (a2-5 (-> *part-group-id-table* 144)) - (a3-1 0) - (t0-0 #f) - (t1-0 #f) - (t2-0 #f) - (t3-0 *launch-matrix*) - ) - (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 - a2-5 - a3-1 - t0-0 - t1-0 - t2-0 - t3-0 - ) - ) - (-> gp-0 ppointer) - ) - ) + (part-tracker-spawn :to *entity-pool* :group group-flitter-dust-puff :mat-joint (-> self root trans)) (goto cfg-10) ) (suspend) @@ -512,12 +410,7 @@ ) (defmethod metalhead-flitter-method-205 ((this metalhead-flitter)) - (let* ((s5-0 (handle->process (-> this focus handle))) - (s3-0 (if (type? s5-0 process-focusable) - s5-0 - ) - ) - ) + (let ((s3-0 (the-as process (as-type (handle->process (-> this focus handle)) process-focusable)))) (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 (-> this root trans))) @@ -593,12 +486,8 @@ (local-vars (v1-29 symbol)) (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)) - ) - (when (if (type? s3-0 collide-shape-moving) - s3-0 - ) + (let ((s4-1 (enemy-method-50 self (new 'stack-no-clear 'vector)))) + (when (as-type (-> self root) collide-shape-moving) (set! (-> self root transv y) 33775.48) (ja :num-func num-func-identity :frame-num 0.0) (set-time! (-> self state-time)) @@ -777,12 +666,7 @@ ) :trans (behavior () (local-vars (s5-2 vector)) - (let* ((s5-0 (handle->process (-> self focus handle))) - (gp-0 (if (type? s5-0 process-focusable) - s5-0 - ) - ) - ) + (let ((gp-0 (the-as process (as-type (handle->process (-> self focus handle)) process-focusable)))) (set! s5-2 (cond ((and gp-0 @@ -932,18 +816,15 @@ (cond ((= v1-11 (enemy-aware enemy-aware-3)) (cond - ((when gp-0 - (let* ((gp-1 self) - (s5-1 (method-of-object gp-1 metalhead-flitter-method-207)) - (s4-0 (handle->process (-> self focus handle))) - ) - (s5-1 gp-1 (the-as process-focusable (if (type? s4-0 process-focusable) - s4-0 - ) - ) - ) + ((if gp-0 + (metalhead-flitter-method-207 + self + (the-as + process-focusable + (the-as process (as-type (handle->process (-> self focus handle)) process-focusable)) + ) + ) ) - ) (if (and (get-enemy-target self) (time-elapsed? (the-as int (-> self off-screen-timer)) (seconds 0.3))) (go-hostile self) ) diff --git a/goal_src/jak2/levels/city/traffic/vehicle/vehicle-util.gc b/goal_src/jak2/levels/city/traffic/vehicle/vehicle-util.gc index 01b5f9565f..448196025f 100644 --- a/goal_src/jak2/levels/city/traffic/vehicle/vehicle-util.gc +++ b/goal_src/jak2/levels/city/traffic/vehicle/vehicle-util.gc @@ -296,11 +296,11 @@ (set! (-> s5-0 floats 0) 81920.0) (dotimes (s2-1 (-> this info grab-rail-count)) (let ((s1-0 (-> this 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))) + (vector-! (-> s5-0 matrices 0 trans) (the-as vector (-> s5-0 matrices)) (-> s1-0 local-pos 0)) (when #t (let ((f30-0 (vector-segment-distance-point! (the-as vector (-> s5-0 matrices)) - (the-as vector (-> s1-0 local-pos)) + (-> s1-0 local-pos 0) (-> s1-0 local-pos 1) (-> s5-0 matrices 0 trans) ) @@ -309,7 +309,7 @@ (when (< f30-0 (-> s5-0 floats 0)) (set! (-> s5-0 floats 0) f30-0) (set! (-> s5-0 vectors 0 quad) (-> s5-0 matrices 0 trans quad)) - (vector-! (-> s5-0 vectors 1) (-> s1-0 local-pos 1) (the-as vector (-> s1-0 local-pos))) + (vector-! (-> s5-0 vectors 1) (-> s1-0 local-pos 1) (-> s1-0 local-pos 0)) (vector-normalize! (-> s5-0 vectors 1) 1.0) (set! s3-0 #t) (set! (-> s5-0 floats 3) (* (-> this hit-points) (/ 40960.0 f30-0))) @@ -329,15 +329,9 @@ (new 'stack 'font-context *font-default-matrix* 32 320 0.0 (font-color default) (font-flags shadow kerning)) ) ) - (let ((v1-97 s3-1)) - (set! (-> v1-97 width) (the float 340)) - ) - (let ((v1-98 s3-1)) - (set! (-> v1-98 height) (the float 80)) - ) - (let ((v1-99 s3-1)) - (set! (-> v1-99 scale) 0.9) - ) + (set-width! s3-1 340) + (set-height! s3-1 80) + (set-scale! s3-1 0.9) (set! (-> s3-1 flags) (font-flags shadow kerning large)) (print-game-text (lookup-text! *common-text* (text-id press-triangle-to-use) #f) @@ -800,7 +794,7 @@ (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)) (-> this info exhaust-local-pos s3-0) s5-1) + (vector-matrix*! (-> s4-1 vector 0) (-> this info exhaust-local-pos s3-0) s5-1) (vector-rotate*! (-> s4-1 vector 1) (-> this 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) @@ -812,7 +806,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 162) + group-vehicle-engine-start 0 #f #f diff --git a/goal_src/jak2/levels/city/vinroom/vinroom-scenes.gc b/goal_src/jak2/levels/city/vinroom/vinroom-scenes.gc index 02b6e28450..49ecc4b412 100644 --- a/goal_src/jak2/levels/city/vinroom/vinroom-scenes.gc +++ b/goal_src/jak2/levels/city/vinroom/vinroom-scenes.gc @@ -742,41 +742,7 @@ (defbehavior vin-rescue-yellow-shot scene-player ((arg0 object) (arg1 vector) (arg2 sparticle-launch-state)) (when (not (-> self aborted?)) - (let ((s4-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when s4-0 - (let ((t9-1 (method-of-type part-tracker activate))) - (t9-1 - (the-as part-tracker s4-0) - (the-as process-tree arg0) - (symbol->string (-> part-tracker symbol)) - (the-as pointer #x70004000) - ) - ) - (let ((t9-2 run-function-in-process) - (a0-3 s4-0) - (a1-5 part-tracker-init) - (a2-3 (-> *part-group-id-table* 280)) - (a3-1 0) - (t0-0 #f) - (t1-0 #f) - (t2-0 #f) - (t3-0 *launch-matrix*) - ) - (set! (-> t3-0 trans quad) (-> arg1 quad)) - ((the-as (function object object object object object object object object none) t9-2) - a0-3 - a1-5 - a2-3 - a3-1 - t0-0 - t1-0 - t2-0 - t3-0 - ) - ) - (-> s4-0 ppointer) - ) - ) + (part-tracker-spawn :to (the-as process-tree arg0) :group vin-shot :mat-joint arg1) (draw-beam (-> *part-id-table* 1242) arg1 (-> arg2 sprite rot-syvel) #f #f) ) 0 diff --git a/goal_src/jak2/levels/common/ai/ashelin/ash-shot.gc b/goal_src/jak2/levels/common/ai/ashelin/ash-shot.gc index 27e1cfe35a..f50d0c1e2c 100644 --- a/goal_src/jak2/levels/common/ai/ashelin/ash-shot.gc +++ b/goal_src/jak2/levels/common/ai/ashelin/ash-shot.gc @@ -315,41 +315,7 @@ (defmethod spawn-shell-particles ((this ashelin-shot)) "TODO - confirm" - (let ((gp-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-0 - (let ((t9-1 (method-of-type part-tracker activate))) - (t9-1 - (the-as part-tracker gp-0) - *entity-pool* - (symbol->string (-> part-tracker symbol)) - (the-as pointer #x70004000) - ) - ) - (let ((t9-2 run-function-in-process) - (a0-3 gp-0) - (a1-2 part-tracker-init) - (a2-4 (-> *part-group-id-table* 149)) - (a3-1 0) - (t0-0 #f) - (t1-0 #f) - (t2-0 #f) - (t3-0 *launch-matrix*) - ) - (set! (-> t3-0 trans quad) (-> this root trans quad)) - ((the-as (function object object object object object object object object none) t9-2) - a0-3 - a1-2 - a2-4 - a3-1 - t0-0 - t1-0 - t2-0 - t3-0 - ) - ) - (-> gp-0 ppointer) - ) - ) + (part-tracker-spawn :to *entity-pool* :group group-ashelin-shot-hit :mat-joint (-> this root trans)) 0 (none) ) diff --git a/goal_src/jak2/levels/common/ai/sig/sig-shot.gc b/goal_src/jak2/levels/common/ai/sig/sig-shot.gc index e330adfcae..57719da59d 100644 --- a/goal_src/jak2/levels/common/ai/sig/sig-shot.gc +++ b/goal_src/jak2/levels/common/ai/sig/sig-shot.gc @@ -315,41 +315,7 @@ (defmethod spawn-shell-particles ((this sig-shot)) "TODO - confirm" - (let ((gp-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-0 - (let ((t9-1 (method-of-type part-tracker activate))) - (t9-1 - (the-as part-tracker gp-0) - *entity-pool* - (symbol->string (-> part-tracker symbol)) - (the-as pointer #x70004000) - ) - ) - (let ((t9-2 run-function-in-process) - (a0-3 gp-0) - (a1-2 part-tracker-init) - (a2-4 (-> *part-group-id-table* 146)) - (a3-1 0) - (t0-0 #f) - (t1-0 #f) - (t2-0 #f) - (t3-0 *launch-matrix*) - ) - (set! (-> t3-0 trans quad) (-> this root trans quad)) - ((the-as (function object object object object object object object object none) t9-2) - a0-3 - a1-2 - a2-4 - a3-1 - t0-0 - t1-0 - t2-0 - t3-0 - ) - ) - (-> gp-0 ppointer) - ) - ) + (part-tracker-spawn :to *entity-pool* :group group-sig-shot-hit :mat-joint (-> this root trans)) 0 (none) ) diff --git a/goal_src/jak2/levels/common/ai/sig/sig.gc b/goal_src/jak2/levels/common/ai/sig/sig.gc index 9a57ec0a55..cebd263fa4 100644 --- a/goal_src/jak2/levels/common/ai/sig/sig.gc +++ b/goal_src/jak2/levels/common/ai/sig/sig.gc @@ -229,12 +229,7 @@ ) (defmethod enemy-method-97 ((this sig)) - (let* ((s5-0 (handle->process (-> this attacker-handle))) - (s4-0 (if (type? s5-0 process-focusable) - s5-0 - ) - ) - ) + (let ((s4-0 (the-as process (as-type (handle->process (-> this attacker-handle)) process-focusable)))) (when s4-0 (cond ((= (-> s4-0 type) target) @@ -277,12 +272,7 @@ (empty) ) (else - (let ((s4-1 (handle->process (-> this poi-handle)))) - (set! s5-1 (if (type? s4-1 process-focusable) - s4-1 - ) - ) - ) + (set! s5-1 (the-as process (as-type (handle->process (-> this poi-handle)) process-focusable))) (if s5-1 (empty) (set! s5-1 *target*) @@ -304,12 +294,7 @@ ) (else (when (not (logtest? (bot-flags bf19) (-> this bot-flags))) - (let ((s4-2 (handle->process (-> this poi-handle)))) - (set! s5-1 (if (type? s4-2 process-focusable) - s4-2 - ) - ) - ) + (set! s5-1 (the-as process (as-type (handle->process (-> this poi-handle)) process-focusable))) (cond (s5-1 (empty) @@ -625,7 +610,7 @@ (the-as pair 0) ) (init-enemy-behaviour-and-stats! this *sig-nav-enemy-info*) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 147) this)) + (set! (-> this part) (create-launch-control group-sig-plasma this)) (add-connection *part-engine* this 23 this 671 (new 'static 'sphere :y 327.68 :z 7536.64 :r 163840.0)) (set! (-> this skel interp-select 0) (the-as int (the-as uint #x1ffc007ffff0))) (set! (-> this skel interp-select 1) 0) @@ -1361,12 +1346,7 @@ (a0-14 (-> v1-33 root-prim)) ) (when (logtest? (collide-spec hit-by-others-list pusher) (-> a0-14 prim-core collide-as)) - (let* ((s1-0 (-> v1-33 process)) - (s2-0 (if (type? s1-0 process-focusable) - s1-0 - ) - ) - ) + (let ((s2-0 (the-as process-drawable (as-type (-> v1-33 process) process-focusable)))) (when s2-0 (let ((f0-6 (vector-vector-distance-squared s5-0 (get-trans (the-as process-focusable s2-0) 0)))) (when (or (< f30-0 0.0) (< f0-6 f30-0)) @@ -1401,9 +1381,9 @@ (the int (+ 30.0 (* -100.0 (-> this offset)))) ) (set! (-> this sprites 0 angle) (* 182.04445 (the float (- 270 (/ (* 90 (-> this values 0 current)) 100))))) - (set-as-offset-from! (the-as hud-sprite (-> this sprites)) (the-as vector4w (-> this sprites 2)) 40 16) - (set-as-offset-from! (-> this sprites 1) (the-as vector4w (-> this sprites 2)) 1 16) - (set-as-offset-from! (-> this sprites 3) (the-as vector4w (-> this sprites 2)) 15 2) + (set-as-offset-from! (-> this sprites 0) (-> this sprites 2 pos) 40 16) + (set-as-offset-from! (-> this sprites 1) (-> this sprites 2 pos) 1 16) + (set-as-offset-from! (-> this sprites 3) (-> this sprites 2 pos) 15 2) ((method-of-type hud draw) this) 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 a657a3f2b8..cf511d49b9 100644 --- a/goal_src/jak2/levels/common/enemy/amphibian/amphibian.gc +++ b/goal_src/jak2/levels/common/enemy/amphibian/amphibian.gc @@ -256,14 +256,14 @@ (set! (-> *amphibian-nav-enemy-info* fact-defaults) *fact-info-enemy-defaults*) -(defmethod relocate ((this amphibian-joint-mod) (arg0 int)) - (&+! (-> this proc) arg0) +(defmethod relocate ((this amphibian-joint-mod) (offset int)) + (&+! (-> this proc) offset) this ) (defmethod general-event-handler ((this amphibian) (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" + @TODO - unsure if there is a pattern for the events and this should have a more specific name" (case arg2 (('hit-knocked) (logclear! (-> this mask) (process-mask actor-pause)) @@ -590,41 +590,7 @@ (set! (-> s2-0 quad) (-> this 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))) - (when s3-1 - (let ((t9-2 (method-of-type part-tracker activate))) - (t9-2 - (the-as part-tracker s3-1) - *entity-pool* - (symbol->string (-> part-tracker symbol)) - (the-as pointer #x70004000) - ) - ) - (let ((t9-3 run-function-in-process) - (a0-28 s3-1) - (a1-6 part-tracker-init) - (a2-6 (-> *part-group-id-table* 121)) - (a3-1 0) - (t0-0 #f) - (t1-0 #f) - (t2-0 #f) - (t3-0 *launch-matrix*) - ) - (set! (-> t3-0 trans quad) (-> s2-0 quad)) - ((the-as (function object object object object object object object object none) t9-3) - a0-28 - a1-6 - a2-6 - a3-1 - t0-0 - t1-0 - t2-0 - t3-0 - ) - ) - (-> s3-1 ppointer) - ) - ) + (part-tracker-spawn :to *entity-pool* :group group-part-water-splash :mat-joint s2-0) (sound-play "splash-out") ) ) @@ -768,12 +734,7 @@ (set! (-> v1-4 action-mask) (collide-action solid)) ) (when (>= (fill-and-probe-using-line-sphere *collide-cache* s4-0) 0.0) - (let* ((s3-0 (-> s4-0 best-other-tri collide-ptr)) - (s4-1 (if (type? s3-0 collide-shape-prim-sphere) - (the-as collide-shape-prim-sphere s3-0) - ) - ) - ) + (let ((s4-1 (as-type (-> s4-0 best-other-tri collide-ptr) collide-shape-prim-sphere))) (when s4-1 (set! (-> s5-0 y) 0.0) (vector-normalize! s5-0 1.0) @@ -840,12 +801,7 @@ ) (defmethod go-hostile ((this amphibian)) - (let* ((s4-0 (handle->process (-> this attacker-handle))) - (s5-0 (if (type? s4-0 process-focusable) - s4-0 - ) - ) - ) + (let ((s5-0 (the-as process (as-type (handle->process (-> this attacker-handle)) process-focusable)))) (when s5-0 (set! (-> this attacker-handle) (the-as handle #f)) (when (collide-check? (-> this focus) (the-as process-focusable s5-0)) @@ -859,9 +815,9 @@ (defmethod common-post ((this amphibian)) "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" + - tracks when the enemy was last drawn + - looks at the target and handles attacking + @TODO Not extremely well understood yet" (set! (-> this prev-ry) (-> this prev-ry1)) (set! (-> this prev-ry1) (quaternion-y-angle (-> this root quat))) ((method-of-type nav-enemy common-post) this) @@ -1664,11 +1620,11 @@ ) ;; WARN: Return type mismatch nav-enemy vs amphibian. -(defmethod relocate ((this amphibian) (arg0 int)) +(defmethod relocate ((this amphibian) (offset int)) (if (nonzero? (-> this tongue-mod)) - (&+! (-> this tongue-mod) arg0) + (&+! (-> this tongue-mod) offset) ) - (the-as amphibian ((method-of-type nav-enemy relocate) this arg0)) + (the-as amphibian ((method-of-type nav-enemy relocate) this offset)) ) (defmethod init-enemy-collision! ((this amphibian)) diff --git a/goal_src/jak2/levels/common/enemy/centurion.gc b/goal_src/jak2/levels/common/enemy/centurion.gc index 07d8cf7100..1a4a39f36c 100644 --- a/goal_src/jak2/levels/common/enemy/centurion.gc +++ b/goal_src/jak2/levels/common/enemy/centurion.gc @@ -988,7 +988,7 @@ ) (let ((s4-1 (new 'stack-no-clear 'matrix))) (if (logtest? (enemy-flag drawn-mirrored) (-> this enemy-flags)) - (vector-negate-in-place! (the-as vector (-> s5-1 vector))) + (vector-negate-in-place! (-> s5-1 vector 0)) ) (matrix-rotate-y! s4-1 (if (logtest? (enemy-flag drawn-mirrored) (-> this enemy-flags)) 2548.6223 @@ -1492,7 +1492,7 @@ (set! (-> this skel generate-frame-function) create-interpolated2-joint-animation-frame) (init-enemy-behaviour-and-stats! this *centurion-nav-enemy-info*) (set! (-> this shield-shot) (the-as uint 0)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 474) this)) + (set! (-> this part) (create-launch-control group-centurion-shield this)) (let ((v1-11 (-> this neck))) (set! (-> v1-11 up) (the-as uint 1)) (set! (-> v1-11 nose) (the-as uint 2)) diff --git a/goal_src/jak2/levels/common/enemy/flitter.gc b/goal_src/jak2/levels/common/enemy/flitter.gc index b70f673a13..27d0649984 100644 --- a/goal_src/jak2/levels/common/enemy/flitter.gc +++ b/goal_src/jak2/levels/common/enemy/flitter.gc @@ -637,41 +637,7 @@ (logior! (-> self draw status) (draw-control-status no-draw)) ) :code (behavior () - (let ((gp-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-0 - (let ((t9-1 (method-of-type part-tracker activate))) - (t9-1 - (the-as part-tracker gp-0) - *entity-pool* - (symbol->string (-> part-tracker symbol)) - (the-as pointer #x70004000) - ) - ) - (let ((t9-2 run-function-in-process) - (a0-2 gp-0) - (a1-2 part-tracker-init) - (a2-4 (-> *part-group-id-table* 145)) - (a3-1 0) - (t0-0 #f) - (t1-0 #f) - (t2-0 #f) - (t3-0 *launch-matrix*) - ) - (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 - a2-4 - a3-1 - t0-0 - t1-0 - t2-0 - t3-0 - ) - ) - (-> gp-0 ppointer) - ) - ) + (part-tracker-spawn :to *entity-pool* :group group-flitter-birth :mat-joint (-> self root trans)) (suspend-for (seconds 0.6) ) (+! (-> self root trans y) -8192.0) @@ -726,41 +692,7 @@ (ja-no-eval :group! flitter-ambush-jump-ja :num! (seek!)) (until #f (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))) - (t9-3 - (the-as part-tracker gp-0) - *entity-pool* - (symbol->string (-> part-tracker symbol)) - (the-as pointer #x70004000) - ) - ) - (let ((t9-4 run-function-in-process) - (a0-4 gp-0) - (a1-4 part-tracker-init) - (a2-5 (-> *part-group-id-table* 144)) - (a3-1 0) - (t0-0 #f) - (t1-0 #f) - (t2-0 #f) - (t3-0 *launch-matrix*) - ) - (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 - a2-5 - a3-1 - t0-0 - t1-0 - t2-0 - t3-0 - ) - ) - (-> gp-0 ppointer) - ) - ) + (part-tracker-spawn :to *entity-pool* :group group-flitter-dust-puff :mat-joint (-> self root trans)) (goto cfg-10) ) (suspend) @@ -817,12 +749,7 @@ ) (defmethod flitter-method-180 ((this flitter)) - (let* ((s5-0 (handle->process (-> this focus handle))) - (s3-0 (if (type? s5-0 process-focusable) - (the-as process-focusable s5-0) - ) - ) - ) + (let ((s3-0 (as-type (handle->process (-> this focus handle)) process-focusable))) (when s3-0 (let* ((s5-1 (get-trans s3-0 0)) (s4-1 (vector-! (new 'stack-no-clear 'vector) s5-1 (-> this root trans))) @@ -898,12 +825,8 @@ (local-vars (v1-29 symbol)) (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)) - ) - (when (if (type? s3-0 collide-shape-moving) - s3-0 - ) + (let ((s4-1 (enemy-method-50 self (new 'stack-no-clear 'vector)))) + (when (as-type (-> self root) collide-shape-moving) (set! (-> self root transv y) 33775.48) (ja :num-func num-func-identity :frame-num 0.0) (set-time! (-> self state-time)) @@ -1007,18 +930,15 @@ (cond ((= v1-11 (enemy-aware enemy-aware-3)) (cond - ((when gp-0 - (let* ((gp-1 self) - (s5-1 (method-of-object gp-1 flitter-method-182)) - (s4-0 (handle->process (-> self focus handle))) - ) - (s5-1 gp-1 (the-as process-focusable (if (type? s4-0 process-focusable) - s4-0 - ) - ) - ) + ((if gp-0 + (flitter-method-182 + self + (the-as + process-focusable + (the-as process (as-type (handle->process (-> self focus handle)) process-focusable)) + ) + ) ) - ) (if (and (get-enemy-target self) (time-elapsed? (the-as int (-> self off-screen-timer)) (seconds 0.3))) (go-hostile self) ) @@ -1149,12 +1069,7 @@ ) :trans (behavior () (local-vars (s5-2 object)) - (let* ((s5-0 (handle->process (-> self focus handle))) - (gp-0 (if (type? s5-0 process-focusable) - (the-as process-focusable s5-0) - ) - ) - ) + (let ((gp-0 (as-type (handle->process (-> self focus handle)) process-focusable))) (set! s5-2 (cond ((and gp-0 (not (time-elapsed? (-> self state-time) (seconds 1.5))) diff --git a/goal_src/jak2/levels/common/enemy/grenadier.gc b/goal_src/jak2/levels/common/enemy/grenadier.gc index 5dd04773d3..a812699932 100644 --- a/goal_src/jak2/levels/common/enemy/grenadier.gc +++ b/goal_src/jak2/levels/common/enemy/grenadier.gc @@ -1285,7 +1285,7 @@ (set-vector! (-> this root scale) 1.5 1.5 1.5 1.0) (set! (-> this joint) (new 'process 'joint-mod-blend-world this 17 #f 0.0)) (logior! (-> this joint blend-flags) (joint-mod-blend-flags rotation)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 1150) this)) + (set! (-> this part) (create-launch-control group-grenadier-drip this)) (set! (-> this hostile-path) (new 'process 'path-control this 'hostile 0.0 (-> this entity) #t)) (if (zero? (-> this hostile-path)) (set! (-> this hostile-path) #f) 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 2f2672ddf1..4989fc1ccd 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 @@ -1115,12 +1115,7 @@ ) (('hit 'hit-flinch 'hit-knocked) (speech-control-method-13 *speech-control* (the-as handle this)) - (let* ((s1-0 (handle->process (-> this incoming attacker-handle))) - (a0-13 (if (type? s1-0 process-focusable) - s1-0 - ) - ) - ) + (let ((a0-13 (the-as process (as-type (handle->process (-> this incoming attacker-handle)) process-focusable)))) (if (and a0-13 (logtest? (-> a0-13 mask) (process-mask target))) (speech-control-method-12 *speech-control* this (speech-type speech-type-11)) ) @@ -1273,22 +1268,18 @@ ((< (fill-and-probe-using-line-sphere *collide-cache* s5-0) 0.0) 0 ) + ((and (the-as basic (as-type (-> s5-0 best-other-tri collide-ptr) collide-shape-prim)) + (< (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 + ) + ) + 2 + ) (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 - ) - ) - 2 - 0 - ) - ) + 0 ) ) ) @@ -2131,7 +2122,8 @@ (suspend) ) (when (logtest? (-> self flags) 4) - (suspend-for (seconds 1)) + (suspend-for (seconds 1) + ) (until (crimson-guard-level-method-194 self) (suspend) ) @@ -2403,77 +2395,15 @@ (vector-orient-by-quat! s2-1 s2-1 a2-4) ) ) - (let ((s1-2 (get-process *default-dead-pool* part-tracker #x4000))) - (when s1-2 - (let ((t9-15 (method-of-type part-tracker activate))) - (t9-15 (the-as part-tracker s1-2) this (symbol->string (-> part-tracker symbol)) (the-as pointer #x70004000)) - ) - (let ((t9-16 run-function-in-process) - (a0-34 s1-2) - (a1-25 part-tracker-init) - (a2-9 (-> *part-group-id-table* 140)) - (a3-1 0) - (t0-0 #f) - (t1-0 #f) - (t2-0 #f) - (t3-0 *launch-matrix*) - ) - (set! (-> t3-0 trans quad) (-> s4-0 quad)) - ((the-as (function object object object object object object object object none) t9-16) - a0-34 - a1-25 - a2-9 - a3-1 - t0-0 - t1-0 - t2-0 - t3-0 - ) - ) - (-> s1-2 ppointer) - ) - ) - (let ((s1-3 (get-process *default-dead-pool* part-tracker #x4000))) - (when s1-3 - (let ((t9-18 (method-of-type part-tracker activate))) - (t9-18 (the-as part-tracker s1-3) this (symbol->string (-> part-tracker symbol)) (the-as pointer #x70004000)) - ) - (let ((t9-19 run-function-in-process) - (a0-37 s1-3) - (a1-28 part-tracker-init) - (a2-14 (-> *part-group-id-table* 140)) - (a3-3 0) - (t0-1 #f) - (t1-1 #f) - (t2-1 #f) - (t3-1 *launch-matrix*) - ) - (set! (-> t3-1 trans quad) (-> s5-0 quad)) - ((the-as (function object object object object object object object object none) t9-19) - a0-37 - a1-28 - a2-14 - a3-3 - t0-1 - t1-1 - t2-1 - t3-1 - ) - ) - (-> s1-3 ppointer) - ) - ) + (part-tracker-spawn :to this :group part-crimson-lightning-glow :mat-joint s4-0) + (part-tracker-spawn :to this :group part-crimson-lightning-glow :mat-joint s5-0) (set-point! (-> this l-control) 0 s4-0) (set-point! (-> this l-control) 1 s5-0) (set! (-> this l-control spec) (-> *lightning-spec-id-table* 13)) (+! (-> this l-control state points-to-draw) 2) - (let* ((s4-1 (-> s3-0 best-other-tri collide-ptr)) - (v1-45 (if (type? s4-1 collide-shape-prim) - (the-as collide-shape-prim s4-1) - ) - ) - (s4-2 #t) - ) + (let ((v1-45 (as-type (-> s3-0 best-other-tri collide-ptr) collide-shape-prim)) + (s4-2 #t) + ) (when v1-45 (set! s4-2 #f) (if (logtest? (-> v1-45 prim-core collide-as) (collide-spec jak bot)) @@ -2484,66 +2414,8 @@ ) ) (else - (let ((s3-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when s3-1 - (let ((t9-26 (method-of-type part-tracker activate))) - (t9-26 (the-as part-tracker s3-1) this (symbol->string (-> part-tracker symbol)) (the-as pointer #x70004000)) - ) - (let ((t9-27 run-function-in-process) - (a0-56 s3-1) - (a1-36 part-tracker-init) - (a2-25 (-> *part-group-id-table* 140)) - (a3-8 0) - (t0-3 #f) - (t1-2 #f) - (t2-2 #f) - (t3-2 *launch-matrix*) - ) - (set! (-> t3-2 trans quad) (-> s4-0 quad)) - ((the-as (function object object object object object object object object none) t9-27) - a0-56 - a1-36 - a2-25 - a3-8 - t0-3 - t1-2 - t2-2 - t3-2 - ) - ) - (-> s3-1 ppointer) - ) - ) - (let ((s3-2 (get-process *default-dead-pool* part-tracker #x4000))) - (when s3-2 - (let ((t9-29 (method-of-type part-tracker activate))) - (t9-29 (the-as part-tracker s3-2) this (symbol->string (-> part-tracker symbol)) (the-as pointer #x70004000)) - ) - (let ((t9-30 run-function-in-process) - (a0-59 s3-2) - (a1-39 part-tracker-init) - (a2-30 (-> *part-group-id-table* 140)) - (a3-10 0) - (t0-4 #f) - (t1-3 #f) - (t2-3 #f) - (t3-3 *launch-matrix*) - ) - (set! (-> t3-3 trans quad) (-> s5-0 quad)) - ((the-as (function object object object object object object object object none) t9-30) - a0-59 - a1-39 - a2-30 - a3-10 - t0-4 - t1-3 - t2-3 - t3-3 - ) - ) - (-> s3-2 ppointer) - ) - ) + (part-tracker-spawn :to this :group part-crimson-lightning-glow :mat-joint s4-0) + (part-tracker-spawn :to this :group part-crimson-lightning-glow :mat-joint s5-0) (set! (-> this l-control state points-to-draw) 9) (set! (-> this l-control spec) (-> *lightning-spec-id-table* 14)) (let ((v1-67 s4-0)) @@ -2701,8 +2573,7 @@ (suspend) (ja :num! (seek! (ja-aframe 12.0 0))) ) - (suspend-for - (the int (* 900.0 (you-suck-scale *game-info* #f))) + (suspend-for (the int (* 900.0 (you-suck-scale *game-info* #f))) (ja-no-eval :group! crimson-guard-grenade-attack-ja :num! (seek! (ja-aframe 12.0 0)) :frame-num (ja-aframe 12.0 0) @@ -3668,12 +3539,7 @@ ) (defmethod crimson-guard-level-method-201 ((this crimson-guard-level) (arg0 float)) - (let* ((s3-0 (handle->process (-> this transport))) - (s4-0 (if (type? s3-0 process-focusable) - (the-as process-focusable s3-0) - ) - ) - ) + (let ((s4-0 (as-type (handle->process (-> this transport)) process-focusable))) (when s4-0 (let ((s2-0 (matrix<-transformq! (new 'stack-no-clear 'matrix) (the-as transformq (-> s4-0 root trans)))) (s3-1 (new 'stack-no-clear 'vector)) diff --git a/goal_src/jak2/levels/common/enemy/hopper.gc b/goal_src/jak2/levels/common/enemy/hopper.gc index ad5e21df24..9ebd2e90df 100644 --- a/goal_src/jak2/levels/common/enemy/hopper.gc +++ b/goal_src/jak2/levels/common/enemy/hopper.gc @@ -378,41 +378,7 @@ (set! (-> s2-0 quad) (-> this 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))) - (when s3-1 - (let ((t9-2 (method-of-type part-tracker activate))) - (t9-2 - (the-as part-tracker s3-1) - *entity-pool* - (symbol->string (-> part-tracker symbol)) - (the-as pointer #x70004000) - ) - ) - (let ((t9-3 run-function-in-process) - (a0-26 s3-1) - (a1-6 part-tracker-init) - (a2-6 (-> *part-group-id-table* 121)) - (a3-1 0) - (t0-0 #f) - (t1-0 #f) - (t2-0 #f) - (t3-0 *launch-matrix*) - ) - (set! (-> t3-0 trans quad) (-> s2-0 quad)) - ((the-as (function object object object object object object object object none) t9-3) - a0-26 - a1-6 - a2-6 - a3-1 - t0-0 - t1-0 - t2-0 - t3-0 - ) - ) - (-> s3-1 ppointer) - ) - ) + (part-tracker-spawn :to *entity-pool* :group group-part-water-splash :mat-joint s2-0) (sound-play "splash-out") ) ) @@ -677,7 +643,7 @@ (let ((s4-2 (new 'stack-no-clear 'vector)) (f28-0 (if (zero? s5-0) (rnd-float-range self 4096.0 8192.0) - (rnd-float-range self 8192.0 (fmin 40960.0 (fmax 16384.0 (* 0.5 f30-0)))) + (rnd-float-range self 8192.0 (fmin 40960.0 (fmax 16384.0 (/ f30-0 2)))) ) ) ) @@ -917,11 +883,11 @@ (none) ) -(defmethod relocate ((this hopper) (arg0 int)) +(defmethod relocate ((this hopper) (offset int)) (if (nonzero? (-> this path-intro)) - (&+! (-> this path-intro) arg0) + (&+! (-> this path-intro) offset) ) - (call-parent-method this arg0) + (call-parent-method this offset) ) (defmethod init-enemy-collision! ((this hopper)) 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 64906628b4..40ed728511 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 @@ -794,12 +794,7 @@ ) ) (let ((gp-0 (-> self dest-pos))) - (let* ((s5-0 (handle->process (-> self focus handle))) - (a0-6 (if (type? s5-0 process-focusable) - s5-0 - ) - ) - ) + (let ((a0-6 (the-as process (as-type (handle->process (-> self focus handle)) process-focusable)))) (set! (-> gp-0 quad) (-> (get-trans (the-as process-focusable a0-6) 0) quad)) ) (+! (-> gp-0 y) -20480.0) @@ -975,36 +970,7 @@ :virtual #t :enter (behavior () (call-parent-state-handler enter) - (let ((gp-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-0 - (let ((t9-3 (method-of-type part-tracker activate))) - (t9-3 (the-as part-tracker gp-0) self (symbol->string (-> part-tracker symbol)) (the-as pointer #x70004000)) - ) - (let ((t9-4 run-function-in-process) - (a0-3 gp-0) - (a1-3 part-tracker-init) - (a2-4 (-> *part-group-id-table* 159)) - (a3-1 0) - (t0-0 #f) - (t1-0 #f) - (t2-0 #f) - (t3-0 *launch-matrix*) - ) - (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 - a2-4 - a3-1 - t0-0 - t1-0 - t2-0 - t3-0 - ) - ) - (-> gp-0 ppointer) - ) - ) + (part-tracker-spawn :to self :group group-crimson-guard-hover-jet-explosion :mat-joint (-> self root trans)) ) :code (behavior () (ja-channel-push! 1 (seconds 0.2)) @@ -1033,36 +999,7 @@ :enter (behavior () (call-parent-state-handler enter) (sound-play "hover-explode") - (let ((gp-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-1 - (let ((t9-5 (method-of-type part-tracker activate))) - (t9-5 (the-as part-tracker gp-1) self (symbol->string (-> part-tracker symbol)) (the-as pointer #x70004000)) - ) - (let ((t9-6 run-function-in-process) - (a0-5 gp-1) - (a1-4 part-tracker-init) - (a2-5 (-> *part-group-id-table* 158)) - (a3-2 0) - (t0-1 #f) - (t1-1 #f) - (t2-1 #f) - (t3-0 *launch-matrix*) - ) - (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 - a2-5 - a3-2 - t0-1 - t1-1 - t2-1 - t3-0 - ) - ) - (-> gp-1 ppointer) - ) - ) + (part-tracker-spawn :to self :group group-crimson-guard-hover-explosion :mat-joint (-> self root trans)) (let ((gp-2 (new 'stack 'joint-exploder-tuning (the-as uint 0)))) (process-spawn joint-exploder @@ -1107,12 +1044,7 @@ (hover-enemy-method-153 this) ) (when (> (-> this hit-points) 0) - (let* ((s1-0 (handle->process (-> this incoming attacker-handle))) - (v1-23 (if (type? s1-0 process-focusable) - s1-0 - ) - ) - ) + (let ((v1-23 (the-as process (as-type (handle->process (-> this incoming attacker-handle)) process-focusable)))) (if (and *target* v1-23 (let ((f0-0 (vector-vector-distance-squared (-> this root trans) (-> this focus-pos))) (f1-0 122880.0) ) @@ -1770,8 +1702,8 @@ (set! (-> this path) (new 'process 'path-control this 'intro 0.0 (-> this entity) #f)) (set! (-> this path-u) 0.0) (logior! (-> this path flags) (path-control-flag display draw-line draw-point draw-text)) - (set! (-> this smoke-part) (create-launch-control (-> *part-group-id-table* 154) this)) - (set! (-> this engine-part) (create-launch-control (-> *part-group-id-table* 156) this)) + (set! (-> this smoke-part) (create-launch-control group-wasp-gun-smoke this)) + (set! (-> this engine-part) (create-launch-control group-wasp-engine this)) (add-connection *part-engine* this diff --git a/goal_src/jak2/levels/common/enemy/hover/wasp.gc b/goal_src/jak2/levels/common/enemy/hover/wasp.gc index f316675413..732271cece 100644 --- a/goal_src/jak2/levels/common/enemy/hover/wasp.gc +++ b/goal_src/jak2/levels/common/enemy/hover/wasp.gc @@ -1004,36 +1004,7 @@ :to self ) ) - (let ((gp-2 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-2 - (let ((t9-10 (method-of-type part-tracker activate))) - (t9-10 (the-as part-tracker gp-2) self (symbol->string (-> part-tracker symbol)) (the-as pointer #x70004000)) - ) - (let ((t9-11 run-function-in-process) - (a0-12 gp-2) - (a1-8 part-tracker-init) - (a2-12 (-> *part-group-id-table* 157)) - (a3-4 0) - (t0-2 #f) - (t1-2 #f) - (t2-1 #f) - (t3-0 *launch-matrix*) - ) - (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 - a2-12 - a3-4 - t0-2 - t1-2 - t2-1 - t3-0 - ) - ) - (-> gp-2 ppointer) - ) - ) + (part-tracker-spawn :to self :group group-wasp-explosion :mat-joint (-> self root trans)) (while (-> self child) (suspend) ) @@ -1524,8 +1495,8 @@ (set! (-> this path) (new 'process 'path-control this 'intro 0.0 (-> this entity) #f)) (set! (-> this path-u) 0.0) (logior! (-> this path flags) (path-control-flag display draw-line draw-point draw-text)) - (set! (-> this smoke-part) (create-launch-control (-> *part-group-id-table* 154) this)) - (set! (-> this engine-part) (create-launch-control (-> *part-group-id-table* 156) this)) + (set! (-> this smoke-part) (create-launch-control group-wasp-gun-smoke this)) + (set! (-> this engine-part) (create-launch-control group-wasp-engine this)) (add-connection *part-engine* this diff --git a/goal_src/jak2/levels/common/entities/spydroid.gc b/goal_src/jak2/levels/common/entities/spydroid.gc index 688f3db794..587970db7e 100644 --- a/goal_src/jak2/levels/common/entities/spydroid.gc +++ b/goal_src/jak2/levels/common/entities/spydroid.gc @@ -731,12 +731,7 @@ (case arg2 (('touch 'bonk 'attack) (set! sv-144 (the-as vector (send-event (ppointer->process (-> this parent)) 'widow-get-center))) - (let* ((s1-0 arg0) - (s0-0 (if (type? s1-0 process-drawable) - s1-0 - ) - ) - ) + (let ((s0-0 (the-as process (as-type arg0 process-drawable)))) (let ((v1-5 sv-144)) (b! (not v1-5) cfg-15 :likely-delay (set! v1-6 sv-144)) ) @@ -1387,8 +1382,8 @@ 0 (set-gravity-length (-> this root dynam) 573440.0) (logior! (-> this nav flags) (nav-control-flag momentum-ignore-heading)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 709) this)) - (set! (-> this explode-part) (create-launch-control (-> *part-group-id-table* 710) this)) + (set! (-> this part) (create-launch-control group-spydroid-trail this)) + (set! (-> this explode-part) (create-launch-control group-spydroid-explode this)) (add-connection *part-engine* this diff --git a/goal_src/jak2/levels/common/guard-projectile.gc b/goal_src/jak2/levels/common/guard-projectile.gc index e808c9d518..717b4b53cb 100644 --- a/goal_src/jak2/levels/common/guard-projectile.gc +++ b/goal_src/jak2/levels/common/guard-projectile.gc @@ -409,82 +409,10 @@ ) (set! (-> gp-0 quad) (-> s4-0 trans quad)) (vector+! gp-0 gp-0 v1-1) - (cond - ((-> this hit-actor?) - (let ((s5-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-1 - (let ((t9-2 (method-of-type part-tracker activate))) - (t9-2 - (the-as part-tracker s5-1) - *entity-pool* - (symbol->string (-> part-tracker symbol)) - (the-as pointer #x70004000) - ) - ) - (let ((t9-3 run-function-in-process) - (a0-8 s5-1) - (a1-6 part-tracker-init) - (a2-4 (-> *part-group-id-table* 136)) - (a3-1 0) - (t0-0 #f) - (t1-0 #f) - (t2-0 #f) - (t3-0 *launch-matrix*) - ) - (set! (-> t3-0 trans quad) (-> gp-0 quad)) - ((the-as (function object object object object object object object object none) t9-3) - a0-8 - a1-6 - a2-4 - a3-1 - t0-0 - t1-0 - t2-0 - t3-0 - ) - ) - (-> s5-1 ppointer) - ) - ) - ) - (else - (let ((s5-2 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-2 - (let ((t9-5 (method-of-type part-tracker activate))) - (t9-5 - (the-as part-tracker s5-2) - *entity-pool* - (symbol->string (-> part-tracker symbol)) - (the-as pointer #x70004000) - ) - ) - (let ((t9-6 run-function-in-process) - (a0-11 s5-2) - (a1-9 part-tracker-init) - (a2-9 (-> *part-group-id-table* 137)) - (a3-3 0) - (t0-1 #f) - (t1-1 #f) - (t2-1 #f) - (t3-1 *launch-matrix*) - ) - (set! (-> t3-1 trans quad) (-> gp-0 quad)) - ((the-as (function object object object object object object object object none) t9-6) - a0-11 - a1-9 - a2-9 - a3-3 - t0-1 - t1-1 - t2-1 - t3-1 - ) - ) - (-> s5-2 ppointer) - ) - ) + (if (-> this hit-actor?) + (part-tracker-spawn :to *entity-pool* :group group-guard-shot-hit-object :mat-joint gp-0) + (part-tracker-spawn :to *entity-pool* :group group-guard-shot-hit :mat-joint gp-0) ) - ) ) 0 (none) @@ -715,7 +643,7 @@ (let ((t9-2 (method-of-type projectile-bounce init-proj-settings!))) (t9-2 this) ) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 138) this)) + (set! (-> this part) (create-launch-control group-guard-grenade this)) (set! (-> this blast-radius) 16384.0) (set! (-> this max-speed) 90112.0) (set! (-> this timeout) (seconds 4)) @@ -773,7 +701,7 @@ (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 group) group-gun-dark-shot-hit) (set! (-> gp-0 collide-with) (collide-spec backgnd jak crate civilian enemy obstacle vehicle-sphere hit-by-others-list player-list pusher) ) diff --git a/goal_src/jak2/levels/common/metalhead-projectile.gc b/goal_src/jak2/levels/common/metalhead-projectile.gc index e110a916b1..c6bad72939 100644 --- a/goal_src/jak2/levels/common/metalhead-projectile.gc +++ b/goal_src/jak2/levels/common/metalhead-projectile.gc @@ -395,41 +395,7 @@ ) (set! (-> gp-0 quad) (-> s5-0 trans quad)) (vector+! gp-0 gp-0 v1-2) - (let ((s5-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-1 - (let ((t9-2 (method-of-type part-tracker activate))) - (t9-2 - (the-as part-tracker s5-1) - *entity-pool* - (symbol->string (-> part-tracker symbol)) - (the-as pointer #x70004000) - ) - ) - (let ((t9-3 run-function-in-process) - (a0-8 s5-1) - (a1-6 part-tracker-init) - (a2-4 (-> *part-group-id-table* 141)) - (a3-1 0) - (t0-0 #f) - (t1-0 #f) - (t2-0 #f) - (t3-0 *launch-matrix*) - ) - (set! (-> t3-0 trans quad) (-> gp-0 quad)) - ((the-as (function object object object object object object object object none) t9-3) - a0-8 - a1-6 - a2-4 - a3-1 - t0-0 - t1-0 - t2-0 - t3-0 - ) - ) - (-> s5-1 ppointer) - ) - ) + (part-tracker-spawn :to *entity-pool* :group group-metalhead-shot-hit :mat-joint gp-0) ) 0 (none) @@ -665,36 +631,7 @@ (defmethod spawn-shell-particles ((this metalhead-grenade-shot)) "TODO - confirm" - (let ((gp-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-0 - (let ((t9-1 (method-of-type part-tracker activate))) - (t9-1 (the-as part-tracker gp-0) this (symbol->string (-> part-tracker symbol)) (the-as pointer #x70004000)) - ) - (let ((t9-2 run-function-in-process) - (a0-3 gp-0) - (a1-2 part-tracker-init) - (a2-4 (-> *part-group-id-table* 76)) - (a3-1 0) - (t0-0 #f) - (t1-0 #f) - (t2-0 #f) - (t3-0 *launch-matrix*) - ) - (set! (-> t3-0 trans quad) (-> this root trans quad)) - ((the-as (function object object object object object object object object none) t9-2) - a0-3 - a1-2 - a2-4 - a3-1 - t0-0 - t1-0 - t2-0 - t3-0 - ) - ) - (-> gp-0 ppointer) - ) - ) + (part-tracker-spawn :to this :group group-gun-dark-shot-hit :mat-joint (-> this root trans)) 0 (none) ) @@ -717,12 +654,7 @@ :event (behavior ((proc process) (argc int) (message symbol) (block event-message-block)) (case message (('touched) - (let* ((s4-0 proc) - (v1-1 (if (type? s4-0 process-drawable) - (the-as process-drawable s4-0) - ) - ) - ) + (let ((v1-1 (as-type proc process-drawable))) (when v1-1 (let ((s4-1 (-> v1-1 root)) (a1-3 (new 'stack 'collide-query)) @@ -731,7 +663,7 @@ (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)) + (-> (the-as collide-shape s4-1) root-prim prim-core world-sphere) (-> a1-3 start-pos) ) (let ((v1-6 a1-3)) @@ -886,7 +818,7 @@ (let ((f0-5 1092.2667)) (quaternion-axis-angle! (-> this tumble-quat) 1.0 0.0 0.0 f0-5) ) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 143) this)) + (set! (-> this part) (create-launch-control group-metalhead-grenade-shot this)) (set! (-> this sound-id) (new-sound-id)) (none) ) diff --git a/goal_src/jak2/levels/common/race/race-obs.gc b/goal_src/jak2/levels/common/race/race-obs.gc index e030ed99dd..85fbb3a55d 100644 --- a/goal_src/jak2/levels/common/race/race-obs.gc +++ b/goal_src/jak2/levels/common/race/race-obs.gc @@ -164,7 +164,7 @@ :event race-signal-event-handler :code (behavior () (sound-play "red-light") - (process-spawn part-tracker :init part-tracker-init (-> *part-group-id-table* 194) 1500 #f #f self 5 :to self) + (process-spawn part-tracker :init part-tracker-init group-race-signal-red-light-3 1500 #f #f self 5 :to self) (ja-no-eval :group! (ja-group) :num! (seek! (ja-aframe 2.0 0)) :frame-num (ja-aframe 0.0 0)) (until (ja-done? 0) (suspend) @@ -185,7 +185,7 @@ :event race-signal-event-handler :code (behavior () (sound-play "red-light") - (process-spawn part-tracker :init part-tracker-init (-> *part-group-id-table* 195) 1500 #f #f self 7 :to self) + (process-spawn part-tracker :init part-tracker-init group-race-signal-red-light-2 1500 #f #f self 7 :to self) (ja-no-eval :group! (ja-group) :num! (seek! (ja-aframe 4.0 0)) :frame-num (ja-aframe 2.0 0)) (until (ja-done? 0) (suspend) @@ -206,7 +206,7 @@ :event race-signal-event-handler :code (behavior () (sound-play "red-light") - (process-spawn part-tracker :init part-tracker-init (-> *part-group-id-table* 196) 1500 #f #f self 9 :to self) + (process-spawn part-tracker :init part-tracker-init group-race-signal-red-light-1 1500 #f #f self 9 :to self) (ja-no-eval :group! (ja-group) :num! (seek! (ja-aframe 6.0 0)) :frame-num (ja-aframe 4.0 0)) (until (ja-done? 0) (suspend) @@ -227,17 +227,7 @@ :event race-signal-event-handler :code (behavior () (sound-play "green-light") - (process-spawn - part-tracker - :init part-tracker-init - (-> *part-group-id-table* 197) - 1500 - #f - #f - self - 10 - :to self - ) + (process-spawn part-tracker :init part-tracker-init group-race-signal-green-light 1500 #f #f self 10 :to self) (let ((v1-8 (new 'stack-no-clear 'matrix))) (vector-reset! (-> v1-8 vector 2)) (vector-reset! (-> v1-8 trans)) @@ -247,7 +237,7 @@ (+! (-> v1-8 vector 1 y) 204800.0) (cubic-curve-method-9 (-> self curve) - (the-as vector (-> v1-8 vector)) + (-> v1-8 vector 0) (-> v1-8 vector 2) (-> v1-8 vector 1) (-> v1-8 trans) @@ -283,30 +273,35 @@ :code (behavior () (until #f (ja :num-func num-func-identity :frame-num (ja-aframe 0.0 0)) - (suspend-for (seconds 0.5)) + (suspend-for (seconds 0.5) + ) (ja-no-eval :group! (ja-group) :num! (seek! (ja-aframe 2.0 0)) :frame-num (ja-aframe 0.0 0)) (until (ja-done? 0) (suspend) (ja :num! (seek! (ja-aframe 2.0 0))) ) - (process-spawn part-tracker :init part-tracker-init (-> *part-group-id-table* 196) 600 #f #f self 5 :to self) - (suspend-for (seconds 0.5)) + (process-spawn part-tracker :init part-tracker-init group-race-signal-red-light-1 600 #f #f self 5 :to self) + (suspend-for (seconds 0.5) + ) (ja-no-eval :group! (ja-group) :num! (seek! (ja-aframe 4.0 0)) :frame-num (ja-aframe 2.0 0)) (until (ja-done? 0) (suspend) (ja :num! (seek! (ja-aframe 4.0 0))) ) - (process-spawn part-tracker :init part-tracker-init (-> *part-group-id-table* 195) 300 #f #f self 7 :to self) - (suspend-for (seconds 0.5)) + (process-spawn part-tracker :init part-tracker-init group-race-signal-red-light-2 300 #f #f self 7 :to self) + (suspend-for (seconds 0.5) + ) (ja-no-eval :group! (ja-group) :num! (seek! (ja-aframe 6.0 0)) :frame-num (ja-aframe 4.0 0)) (until (ja-done? 0) (suspend) (ja :num! (seek! (ja-aframe 6.0 0))) ) - (process-spawn part-tracker :init part-tracker-init (-> *part-group-id-table* 194) 300 #f #f self 9 :to self) - (suspend-for (seconds 0.5)) - (process-spawn part-tracker :init part-tracker-init (-> *part-group-id-table* 197) 300 #f #f self 10 :to self) - (suspend-for (seconds 0.5)) + (process-spawn part-tracker :init part-tracker-init group-race-signal-red-light-3 300 #f #f self 9 :to self) + (suspend-for (seconds 0.5) + ) + (process-spawn part-tracker :init part-tracker-init group-race-signal-green-light 300 #f #f self 10 :to self) + (suspend-for (seconds 0.5) + ) ) #f ) @@ -651,41 +646,7 @@ :virtual #t :code (behavior () (set-time! (-> self state-time)) - (let ((gp-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-0 - (let ((t9-1 (method-of-type part-tracker activate))) - (t9-1 - (the-as part-tracker gp-0) - *entity-pool* - (symbol->string (-> part-tracker symbol)) - (the-as pointer #x70004000) - ) - ) - (let ((t9-2 run-function-in-process) - (a0-2 gp-0) - (a1-2 part-tracker-init) - (a2-4 (-> *part-group-id-table* 199)) - (a3-1 0) - (t0-0 #f) - (t1-0 #f) - (t2-0 #f) - (t3-0 *launch-matrix*) - ) - (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 - a2-4 - a3-1 - t0-0 - t1-0 - t2-0 - t3-0 - ) - ) - (-> gp-0 ppointer) - ) - ) + (part-tracker-spawn :to *entity-pool* :group group-turbo-pickup-explode :mat-joint (-> self root trans)) (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)) @@ -721,7 +682,7 @@ (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)) + (set! (-> self part) (create-launch-control group-turbo-pickup self)) (go-virtual idle) (none) ) diff --git a/goal_src/jak2/levels/common/warp-gate.gc b/goal_src/jak2/levels/common/warp-gate.gc index c7be993b79..443cd82861 100644 --- a/goal_src/jak2/levels/common/warp-gate.gc +++ b/goal_src/jak2/levels/common/warp-gate.gc @@ -513,7 +513,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 130) + group-warpgate 0 #f #f @@ -573,15 +573,9 @@ (new 'stack 'font-context *font-default-matrix* 32 320 0.0 (font-color default) (font-flags shadow kerning)) ) ) - (let ((v1-51 gp-0)) - (set! (-> v1-51 width) (the float 340)) - ) - (let ((v1-52 gp-0)) - (set! (-> v1-52 height) (the float 80)) - ) - (let ((v1-53 gp-0)) - (set! (-> v1-53 scale) 0.9) - ) + (set-width! gp-0 340) + (set-height! gp-0 80) + (set-scale! gp-0 0.9) (set! (-> gp-0 flags) (font-flags shadow kerning large)) (print-game-text (lookup-text! *common-text* (text-id press-triangle-to-use) #f) @@ -620,7 +614,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 130) + group-warpgate 0 #f #f @@ -746,7 +740,7 @@ (set! (-> this wait-for) #f) (set! (-> this continue) #f) (set! (-> this on-close) #f) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 130) this)) + (set! (-> this part) (create-launch-control group-warpgate this)) (set! (-> this center quad) (-> this root trans quad)) (+! (-> this center y) 13516.8) (set! (-> this sound) @@ -1197,9 +1191,9 @@ ) ) ) - (set! (-> this part-exhaust-left) (create-launch-control (-> *part-group-id-table* 134) this)) - (set! (-> this part-exhaust-right) (create-launch-control (-> *part-group-id-table* 134) this)) - (set! (-> this part-dust) (create-launch-control (-> *part-group-id-table* 132) this)) + (set! (-> this part-exhaust-left) (create-launch-control group-airtrain-thruster-off this)) + (set! (-> this part-exhaust-right) (create-launch-control group-airtrain-thruster-off this)) + (set! (-> this part-dust) (create-launch-control group-airtrain-dust-hover this)) (set! (-> this root pause-adjust-distance) 368640.0) (set! (-> this hover-sound) (sound-play "air-train")) (none) diff --git a/goal_src/jak2/levels/consite/consite-scenes.gc b/goal_src/jak2/levels/consite/consite-scenes.gc index e36120e2b9..a6498f1b09 100644 --- a/goal_src/jak2/levels/consite/consite-scenes.gc +++ b/goal_src/jak2/levels/consite/consite-scenes.gc @@ -645,41 +645,7 @@ ) (set! (-> gp-0 quad) (-> arg1 quad)) (vector+! gp-0 gp-0 v0-0) - (let ((s4-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when s4-0 - (let ((t9-2 (method-of-type part-tracker activate))) - (t9-2 - (the-as part-tracker s4-0) - *entity-pool* - (symbol->string (-> part-tracker symbol)) - (the-as pointer #x70004000) - ) - ) - (let ((t9-3 run-function-in-process) - (a0-7 s4-0) - (a1-6 part-tracker-init) - (a2-5 (-> *part-group-id-table* 141)) - (a3-1 0) - (t0-0 #f) - (t1-0 #f) - (t2-0 #f) - (t3-0 *launch-matrix*) - ) - (set! (-> t3-0 trans quad) (-> gp-0 quad)) - ((the-as (function object object object object object object object object none) t9-3) - a0-7 - a1-6 - a2-5 - a3-1 - t0-0 - t1-0 - t2-0 - t3-0 - ) - ) - (-> s4-0 ppointer) - ) - ) + (part-tracker-spawn :to *entity-pool* :group group-metalhead-shot-hit :mat-joint gp-0) ) (let ((s4-1 (new 'stack-no-clear 'vector))) (set! (-> s4-1 quad) (-> arg1 quad)) @@ -733,7 +699,7 @@ ) ) (vector-normalize! (-> s2-0 vector 2) 1.0) - (vector-cross! (the-as vector (-> s2-0 vector)) (-> s2-0 vector 1) (-> s2-0 vector 2)) + (vector-cross! (-> s2-0 vector 0) (-> s2-0 vector 1) (-> s2-0 vector 2)) (matrix->quaternion gp-1 s2-0) ) (sound-play "nboss-shoot-hit") diff --git a/goal_src/jak2/levels/dig/dig-digger.gc b/goal_src/jak2/levels/dig/dig-digger.gc index 5c165bad33..e47eb3222a 100644 --- a/goal_src/jak2/levels/dig/dig-digger.gc +++ b/goal_src/jak2/levels/dig/dig-digger.gc @@ -484,13 +484,9 @@ ) (defmethod draw ((this hud-dig-clasp)) - (set-hud-piece-position! - (the-as hud-sprite (-> this sprites)) - (the int (+ 457.0 (* 130.0 (-> this offset)))) - 210 - ) + (set-hud-piece-position! (-> this sprites 0) (the int (+ 457.0 (* 130.0 (-> this offset)))) 210) (format (clear (-> this strings 0 text)) "~D" (-> this values 0 current)) - (set-as-offset-from! (the-as hud-sprite (-> this strings 0 pos)) (the-as vector4w (-> this sprites)) -18 29) + (set-as-offset-from! (the-as hud-sprite (-> this strings 0 pos)) (-> this sprites 0 pos) -18 29) ((method-of-type hud draw) this) 0 (none) @@ -709,7 +705,7 @@ (the-as pair 0) ) (set! (-> this draw light-index) (the-as uint 1)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 1142) this)) + (set! (-> this part) (create-launch-control group-dig-clasp-break this)) (set! (-> this b) #f) (set! (-> this conn) (add-icon! *minimap* this (the-as uint 16) (the-as int #f) (the-as vector #t) 0)) (if (and (-> this entity) (logtest? (-> this entity extra perm status) (entity-perm-status subtask-complete))) @@ -756,7 +752,7 @@ (the-as pair 0) ) (set! (-> this draw light-index) (the-as uint 1)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 1142) this)) + (set! (-> this part) (create-launch-control group-dig-clasp-break this)) (set! (-> this b) (the-as basic #t)) (set! (-> this conn) (add-icon! *minimap* this (the-as uint 16) (the-as int #f) (the-as vector #t) 0)) (if (and (-> this entity) (logtest? (-> this entity extra perm status) (entity-perm-status subtask-complete))) @@ -815,13 +811,9 @@ (defmethod dig-tether-method-22 ((this dig-tether)) (with-pp (when (-> this clasp) - (let* ((s4-0 (-> this clasp extra process)) - (s5-0 (if (type? s4-0 dig-clasp) - s4-0 - ) - ) - (a1-1 (new 'stack-no-clear 'event-message-block)) - ) + (let ((s5-0 (the-as process (as-type (-> this clasp extra process) dig-clasp))) + (a1-1 (new 'stack-no-clear 'event-message-block)) + ) (set! (-> a1-1 from) (process->ppointer pp)) (set! (-> a1-1 num-params) 0) (set! (-> a1-1 message) 'broken?) @@ -850,7 +842,7 @@ (dotimes (s5-0 7) (cond ((-> this clasp-info-ok) - (vector<-cspace! (the-as vector (-> this chain-joints s5-0)) (-> this chain-joints s5-0 joint-mod joint)) + (vector<-cspace! (-> this chain-joints s5-0 position) (-> this chain-joints s5-0 joint-mod joint)) ) (else (set! (-> this chain-joints s5-0 position quad) (-> this root trans quad)) @@ -885,11 +877,11 @@ (f28-0 0.1) (s1-0 (new 'stack-no-clear 'vector)) ) - (vector-! (-> s5-0 vector 2) (the-as vector (-> this chain-joints)) (-> this root trans)) + (vector-! (-> s5-0 vector 2) (-> this chain-joints 0 position) (-> this root trans)) (vector-normalize! (-> s5-0 vector 2) 1.0) - (vector-cross! (the-as vector (-> s5-0 vector)) (-> this digger-vertical) (-> s5-0 vector 2)) - (vector-normalize! (the-as vector (-> s5-0 vector)) 1.0) - (vector-cross! (-> s5-0 vector 1) (-> s5-0 vector 2) (the-as vector (-> s5-0 vector))) + (vector-cross! (-> s5-0 vector 0) (-> this digger-vertical) (-> s5-0 vector 2)) + (vector-normalize! (-> s5-0 vector 0) 1.0) + (vector-cross! (-> s5-0 vector 1) (-> s5-0 vector 2) (-> s5-0 vector 0)) (matrix->quaternion (-> this root quat) s5-0) (set! (-> this joint-one trans quad) (-> this root trans quad)) (quaternion-copy! (-> this joint-one quat) (-> this root quat)) @@ -901,7 +893,7 @@ (set! (-> sv-160 quad) v1-23) ) (+! (-> sv-160 y) -2048.0) - (vector+float*! sv-160 sv-160 (the-as vector s2-0) f28-0) + (vector+float*! sv-160 sv-160 (-> s2-0 value) f28-0) (set! f28-0 (fmin 1.0 (+ 0.2 f28-0))) (when (< s0-0 7) (vector+float*! @@ -935,11 +927,11 @@ (set! (-> sv-144 joint-mod trans quad) (-> sv-160 quad)) ) (when (< s0-0 7) - (vector-! (-> s5-0 vector 2) (the-as vector (-> this chain-joints (+ s0-0 1))) sv-160) + (vector-! (-> s5-0 vector 2) (-> this chain-joints (+ s0-0 1) position) sv-160) (vector-normalize! (-> s5-0 vector 2) 1.0) - (vector-cross! (the-as vector (-> s5-0 vector)) s3-0 (-> s5-0 vector 2)) - (vector-normalize! (the-as vector (-> s5-0 vector)) 1.0) - (vector-cross! (-> s5-0 vector 1) (-> s5-0 vector 2) (the-as vector (-> s5-0 vector))) + (vector-cross! (-> s5-0 vector 0) s3-0 (-> s5-0 vector 2)) + (vector-normalize! (-> s5-0 vector 0) 1.0) + (vector-cross! (-> s5-0 vector 1) (-> s5-0 vector 2) (-> s5-0 vector 0)) (matrix->quaternion (-> sv-144 joint-mod quat) s5-0) (set! (-> s3-0 quad) (-> s5-0 vector 1 quad)) ) @@ -1005,8 +997,8 @@ (let ((gp-0 (new 'stack-no-clear 'matrix))) (vector-float*! (-> gp-0 vector 2) v1-4 (/ 1.0 f30-0)) (set-vector! (-> gp-0 vector 0) (-> gp-0 vector 2 z) 0.0 (- (-> gp-0 vector 2 x)) 1.0) - (vector-normalize! (the-as vector (-> gp-0 vector)) 1.0) - (vector-cross! (-> gp-0 vector 1) (-> gp-0 vector 2) (the-as vector (-> gp-0 vector))) + (vector-normalize! (-> gp-0 vector 0) 1.0) + (vector-cross! (-> gp-0 vector 1) (-> gp-0 vector 2) (-> gp-0 vector 0)) (vector-reset! (-> gp-0 trans)) (set! (-> gp-0 vector 0 w) 0.0) (set! (-> gp-0 vector 1 w) 0.0) @@ -1144,7 +1136,7 @@ (defmethod dig-digger-method-24 ((this dig-digger)) (set! (-> this vertical target x) 0.0) (set! (-> this vertical target z) 0.0) - (let ((s4-0 (vector-normalize-copy! (new 'stack-no-clear 'vector) (the-as vector (-> this vertical)) 1.0)) + (let ((s4-0 (vector-normalize-copy! (new 'stack-no-clear 'vector) (-> this vertical value) 1.0)) (s5-0 0) ) (dotimes (s3-0 24) @@ -1229,11 +1221,7 @@ (the-as collide-shape (-> self root)) (the-as uint 1) ) - (let ((a0-7 (if (type? proc process-focusable) - proc - ) - ) - ) + (let ((a0-7 (the-as process (as-type proc process-focusable)))) (when a0-7 (if (send-event a0-7 'attack (-> block param 0) (static-attack-info ((id (new-attack-id))))) #f @@ -1286,7 +1274,7 @@ ) (update! (-> self twist) (fabs (-> self twist-kicker value))) (let ((gp-2 (new 'stack-no-clear 'matrix))) - (vector-normalize-copy! (-> gp-2 vector 1) (the-as vector (-> self vertical)) 1.0) + (vector-normalize-copy! (-> gp-2 vector 1) (-> self vertical value) 1.0) (set-vector! (-> gp-2 vector 0) (cos (* 32768.0 (-> self twist value))) @@ -1294,9 +1282,9 @@ (sin (* 32768.0 (-> self twist value))) 1.0 ) - (vector-cross! (-> gp-2 vector 2) (the-as vector (-> gp-2 vector)) (-> gp-2 vector 1)) + (vector-cross! (-> gp-2 vector 2) (-> gp-2 vector 0) (-> gp-2 vector 1)) (vector-normalize! (-> gp-2 vector 2) 1.0) - (vector-cross! (the-as vector (-> gp-2 vector)) (-> gp-2 vector 1) (-> gp-2 vector 2)) + (vector-cross! (-> gp-2 vector 0) (-> gp-2 vector 1) (-> gp-2 vector 2)) (vector-reset! (-> gp-2 trans)) (set! (-> gp-2 vector 0 w) 0.0) (set! (-> gp-2 vector 1 w) 0.0) @@ -1620,8 +1608,8 @@ ) ) (set! (-> this start-y) (-> this root trans y)) - (set! (-> this smoke-part) (create-launch-control (-> *part-group-id-table* 1143) this)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 1144) this)) + (set! (-> this smoke-part) (create-launch-control group-dig-digger-smoke this)) + (set! (-> this part) (create-launch-control group-dig-digger-digging this)) (set! (-> this motor-sound) (new 'static 'sound-id)) (set! (-> this bit-sound) (new 'static 'sound-id)) (set! (-> this movie-handle) (the-as handle #f)) diff --git a/goal_src/jak2/levels/dig/dig-obs.gc b/goal_src/jak2/levels/dig/dig-obs.gc index d85615f05c..7155ee3e32 100644 --- a/goal_src/jak2/levels/dig/dig-obs.gc +++ b/goal_src/jak2/levels/dig/dig-obs.gc @@ -716,7 +716,7 @@ (dig-log-method-22 this #t) ) ) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 1145) this)) + (set! (-> this part) (create-launch-control group-dig-log this)) (set! (-> this event-hook) dig-log-event-handler) (go (method-of-object this idle)) (none) @@ -838,13 +838,9 @@ ) (defmethod draw ((this hud-dig-button)) - (set-hud-piece-position! - (the-as hud-sprite (-> this sprites)) - (the int (+ 487.0 (* 130.0 (-> this offset)))) - 210 - ) + (set-hud-piece-position! (-> this sprites 0) (the int (+ 487.0 (* 130.0 (-> this offset)))) 210) (format (clear (-> this strings 0 text)) "~D" (-> this values 0 current)) - (set-as-offset-from! (the-as hud-sprite (-> this strings 0 pos)) (the-as vector4w (-> this sprites)) -16 20) + (set-as-offset-from! (the-as hud-sprite (-> this strings 0 pos)) (-> this sprites 0 pos) -16 20) ((method-of-type hud draw) this) 0 (none) diff --git a/goal_src/jak2/levels/dig/dig1-obs.gc b/goal_src/jak2/levels/dig/dig1-obs.gc index 60a8c2865c..497c155494 100644 --- a/goal_src/jak2/levels/dig/dig1-obs.gc +++ b/goal_src/jak2/levels/dig/dig1-obs.gc @@ -506,7 +506,7 @@ (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 group) group-dig-cylinder-hit) (set! (-> gp-1 collide-with) (collide-spec backgnd jak crate civilian enemy obstacle vehicle-sphere hit-by-others-list player-list pusher) ) @@ -817,12 +817,7 @@ ) 0 (logclear! (-> self mask) (process-mask actor-pause)) - (let* ((gp-0 *target*) - (a0-4 (if (type? gp-0 process-focusable) - gp-0 - ) - ) - ) + (let ((a0-4 (the-as target (as-type *target* process-focusable)))) (if a0-4 (dig-bomb-crate-method-29 self (get-trans a0-4 0)) ) @@ -833,12 +828,7 @@ (logior! (-> self draw status) (draw-control-status no-draw)) (sound-play "bomb-rack-break") (let ((gp-1 (new 'stack 'joint-exploder-tuning (the-as uint 1)))) - (let* ((s5-1 *target*) - (a0-5 (if (type? s5-1 process-focusable) - s5-1 - ) - ) - ) + (let ((a0-5 (the-as target (as-type *target* process-focusable)))) (when a0-5 (set! (-> gp-1 fountain-rand-transv-lo quad) (-> (get-trans a0-5 0) quad)) (+! (-> gp-1 fountain-rand-transv-lo y) -16384.0) @@ -980,42 +970,8 @@ :virtual #t :code (behavior () (sound-play "dig-air-lifter") - (let ((s5-1 (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node dig-jump-pad-lod0-jg main))) - (gp-1 (get-process *default-dead-pool* part-tracker #x4000)) - ) - (when gp-1 - (let ((t9-4 (method-of-type part-tracker activate))) - (t9-4 - (the-as part-tracker gp-1) - *entity-pool* - (symbol->string (-> part-tracker symbol)) - (the-as pointer #x70004000) - ) - ) - (let ((t9-5 run-function-in-process) - (a0-5 gp-1) - (a1-4 part-tracker-init) - (a2-5 (-> *part-group-id-table* 1147)) - (a3-2 0) - (t0-1 #f) - (t1-1 #f) - (t2-1 #f) - (t3-0 *launch-matrix*) - ) - (set! (-> t3-0 trans quad) (-> s5-1 quad)) - ((the-as (function object object object object object object object object none) t9-5) - a0-5 - a1-4 - a2-5 - a3-2 - t0-1 - t1-1 - t2-1 - t3-0 - ) - ) - (-> gp-1 ppointer) - ) + (let ((s5-1 (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node dig-jump-pad-lod0-jg main)))) + (part-tracker-spawn :to *entity-pool* :group group-dig-jump-pad-launcher :mat-joint s5-1) ) (let ((t9-6 (-> (method-of-type bouncer fire) code))) (if t9-6 diff --git a/goal_src/jak2/levels/dig/dig3-obs.gc b/goal_src/jak2/levels/dig/dig3-obs.gc index c52750f406..30bd584c6d 100644 --- a/goal_src/jak2/levels/dig/dig3-obs.gc +++ b/goal_src/jak2/levels/dig/dig3-obs.gc @@ -499,78 +499,18 @@ (vector-float*! (-> a0-1 transv) (-> a0-1 transv) 0.9) (cond ((< (-> this root trans y) (-> this 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))) - (t9-1 - (the-as part-tracker s4-0) - *entity-pool* - (symbol->string (-> part-tracker symbol)) - (the-as pointer #x70004000) - ) - ) - (let ((t9-2 run-function-in-process) - (a0-5 s4-0) - (a1-3 part-tracker-init) - (a2-4 (-> *part-group-id-table* 1149)) - (a3-1 0) - (t0-0 #f) - (t1-0 #f) - (t2-0 #f) - (t3-0 *launch-matrix*) - ) - (set! (-> t3-0 trans quad) (-> this root grount-touch-point quad)) - ((the-as (function object object object object object object object object none) t9-2) - a0-5 - a1-3 - a2-4 - a3-1 - t0-0 - t1-0 - t2-0 - t3-0 - ) - ) - (-> s4-0 ppointer) - ) + (part-tracker-spawn + :to *entity-pool* + :group group-dig-spikey-sphere-break + :mat-joint (-> this root grount-touch-point) ) (go (method-of-object this die)) ) (else - (let ((s4-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when s4-1 - (let ((t9-5 (method-of-type part-tracker activate))) - (t9-5 - (the-as part-tracker s4-1) - *entity-pool* - (symbol->string (-> part-tracker symbol)) - (the-as pointer #x70004000) - ) - ) - (let ((t9-6 run-function-in-process) - (a0-8 s4-1) - (a1-6 part-tracker-init) - (a2-9 (-> *part-group-id-table* 1148)) - (a3-3 0) - (t0-1 #f) - (t1-1 #f) - (t2-1 #f) - (t3-1 *launch-matrix*) - ) - (set! (-> t3-1 trans quad) (-> this root grount-touch-point quad)) - ((the-as (function object object object object object object object object none) t9-6) - a0-8 - a1-6 - a2-9 - a3-3 - t0-1 - t1-1 - t2-1 - t3-1 - ) - ) - (-> s4-1 ppointer) - ) + (part-tracker-spawn + :to *entity-pool* + :group group-dig-spikey-sphere-bounce + :mat-joint (-> this root grount-touch-point) ) ) ) diff --git a/goal_src/jak2/levels/drill/drill-baron.gc b/goal_src/jak2/levels/drill/drill-baron.gc index 3fbb948247..ac9e7d9f4d 100644 --- a/goal_src/jak2/levels/drill/drill-baron.gc +++ b/goal_src/jak2/levels/drill/drill-baron.gc @@ -905,11 +905,11 @@ (set! (-> self error-y-angle) 0.0) (set! (-> self error-y-angle-dest) 0.0) (set! (-> self hit-count) 0) - (process-spawn part-tracker :init part-tracker-init (-> *part-group-id-table* 461) -1 #f #f self 4 :to self) - (process-spawn part-tracker :init part-tracker-init (-> *part-group-id-table* 462) -1 #f #f self 5 :to self) - (process-spawn part-tracker :init part-tracker-init (-> *part-group-id-table* 463) -1 #f #f self 6 :to self) - (process-spawn part-tracker :init part-tracker-init (-> *part-group-id-table* 464) -1 #f #f self 7 :to self) - (process-spawn part-tracker :init part-tracker-init (-> *part-group-id-table* 465) -1 #f #f self 8 :to self) + (process-spawn part-tracker :init part-tracker-init group-barons-ship-light1 -1 #f #f self 4 :to self) + (process-spawn part-tracker :init part-tracker-init group-barons-ship-light2 -1 #f #f self 5 :to self) + (process-spawn part-tracker :init part-tracker-init group-barons-ship-light3 -1 #f #f self 6 :to self) + (process-spawn part-tracker :init part-tracker-init group-barons-ship-light4 -1 #f #f self 7 :to self) + (process-spawn part-tracker :init part-tracker-init group-barons-ship-light5 -1 #f #f self 8 :to self) (cond ((= (-> self info mesh) 1) (initialize-skeleton @@ -1492,92 +1492,22 @@ :enter (behavior () (cond ((>= (-> (the-as drill-barons-ship (-> self parent 0)) pass) 2) - (when (zero? (-> self info mesh)) - (let ((gp-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-0 - (let ((t9-1 (method-of-type part-tracker activate))) - (t9-1 - (the-as part-tracker gp-0) - *entity-pool* - (symbol->string (-> part-tracker symbol)) - (the-as pointer #x70004000) - ) - ) - (let ((t9-2 run-function-in-process) - (a0-2 gp-0) - (a1-2 part-tracker-init) - (a2-4 (-> *part-group-id-table* 469)) - (a3-1 0) - (t0-0 #f) - (t1-0 #f) - (t2-0 #f) - (t3-0 *launch-matrix*) - ) - (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 - a2-4 - a3-1 - t0-0 - t1-0 - t2-0 - t3-0 - ) - ) - (-> gp-0 ppointer) + (if (zero? (-> self info mesh)) + (part-tracker-spawn + :to *entity-pool* + :group group-drill-barons-ship-explosion + :mat-joint (-> self root trans) ) ) - ) ) ((zero? (-> self info mesh)) - (process-spawn - part-tracker - :init part-tracker-init - (-> *part-group-id-table* 466) - 0 - #f - #f - self - 3 - :to *entity-pool* - ) + (process-spawn part-tracker :init part-tracker-init group-turret-smoke-trail 0 #f #f self 3 :to *entity-pool*) ) (else - (let ((gp-2 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-2 - (let ((t9-7 (method-of-type part-tracker activate))) - (t9-7 - (the-as part-tracker gp-2) - *entity-pool* - (symbol->string (-> part-tracker symbol)) - (the-as pointer #x70004000) - ) - ) - (let ((t9-8 run-function-in-process) - (a0-8 gp-2) - (a1-8 part-tracker-init) - (a2-14 (-> *part-group-id-table* 469)) - (a3-5 0) - (t0-2 #f) - (t1-2 #f) - (t2-2 #f) - (t3-2 *launch-matrix*) - ) - (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 - a2-14 - a3-5 - t0-2 - t1-2 - t2-2 - t3-2 - ) - ) - (-> gp-2 ppointer) - ) + (part-tracker-spawn + :to *entity-pool* + :group group-drill-barons-ship-explosion + :mat-joint (-> self root trans) ) ) ) @@ -1607,12 +1537,7 @@ ) (defun calculate-ship-projectile-velocity ((arg0 projectile-init-by-other-params) (arg1 float)) - (let* ((s4-0 *target*) - (a0-2 (if (type? s4-0 process-focusable) - s4-0 - ) - ) - ) + (let ((a0-2 (the-as target (as-type *target* process-focusable)))) (cond (a0-2 (let ((a0-3 (get-trans a0-2 0))) @@ -1654,55 +1579,21 @@ (let ((gp-1 (new 'stack-no-clear 'vector))) (set! (-> gp-1 quad) (-> self root trans quad)) (+! (-> gp-1 z) 81920.0) - (let ((s5-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-1 - (let ((t9-3 (method-of-type part-tracker activate))) - (t9-3 - (the-as part-tracker s5-1) - *entity-pool* - (symbol->string (-> part-tracker symbol)) - (the-as pointer #x70004000) - ) - ) - (let ((t9-4 run-function-in-process) - (a0-7 s5-1) - (a1-4 part-tracker-init) - (a2-6 (-> *part-group-id-table* 469)) - (a3-3 0) - (t0-1 #f) - (t1-1 #f) - (t2-1 #f) - (t3-0 *launch-matrix*) - ) - (set! (-> t3-0 trans quad) (-> gp-1 quad)) - ((the-as (function object object object object object object object object none) t9-4) - a0-7 - a1-4 - a2-6 - a3-3 - t0-1 - t1-1 - t2-1 - t3-0 - ) - ) - (-> s5-1 ppointer) - ) - ) + (part-tracker-spawn :to *entity-pool* :group group-drill-barons-ship-explosion :mat-joint gp-1) ) (sound-play "shp-turret-xplo") (cond ((= (-> self info mesh) 1) (setup-masks (-> self draw) 0 1) - (process-spawn part-tracker :init part-tracker-init (-> *part-group-id-table* 468) 0 #f #f self 3 :to self) + (process-spawn part-tracker :init part-tracker-init group-turret-smoke-trail-side 0 #f #f self 3 :to self) ) ((= (-> self info mesh) 2) (setup-masks (-> self draw) 0 1) - (process-spawn part-tracker :init part-tracker-init (-> *part-group-id-table* 467) 0 #f #f self 3 :to self) + (process-spawn part-tracker :init part-tracker-init group-turret-smoke-trail-down 0 #f #f self 3 :to self) ) (else (setup-masks (-> self draw) 0 1) - (process-spawn part-tracker :init part-tracker-init (-> *part-group-id-table* 466) 0 #f #f self 3 :to self) + (process-spawn part-tracker :init part-tracker-init group-turret-smoke-trail 0 #f #f self 3 :to self) ) ) (sound-play "ship-veer") @@ -1732,7 +1623,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 460) + group-turret-warning-side 0 #f #f @@ -1745,7 +1636,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 459) + group-turret-warning-down 0 #f #f @@ -1755,17 +1646,7 @@ ) ) (else - (process-spawn - part-tracker - :init part-tracker-init - (-> *part-group-id-table* 458) - 0 - #f - #f - self - 3 - :to *entity-pool* - ) + (process-spawn part-tracker :init part-tracker-init group-turret-warning 0 #f #f self 3 :to *entity-pool*) ) ) (if (zero? (-> self info mesh)) diff --git a/goal_src/jak2/levels/drill/drill-mech-master.gc b/goal_src/jak2/levels/drill/drill-mech-master.gc index eeedb626f0..bfafe76b85 100644 --- a/goal_src/jak2/levels/drill/drill-mech-master.gc +++ b/goal_src/jak2/levels/drill/drill-mech-master.gc @@ -10,13 +10,9 @@ ;; DECOMP BEGINS (defmethod draw ((this hud-cpanel)) - (set-hud-piece-position! - (the-as hud-sprite (-> this sprites)) - (the int (+ 502.0 (* 130.0 (-> this offset)))) - 200 - ) + (set-hud-piece-position! (-> this sprites 0) (the int (+ 502.0 (* 130.0 (-> this offset)))) 200) (format (clear (-> this strings 0 text)) "~D" (-> this values 0 current)) - (set-as-offset-from! (the-as hud-sprite (-> this strings 0 pos)) (the-as vector4w (-> this sprites)) -28 55) + (set-as-offset-from! (the-as hud-sprite (-> this strings 0 pos)) (-> this sprites 0 pos) -28 55) ((method-of-type hud draw) this) 0 (none) @@ -77,6 +73,7 @@ (define *drill-mech-master* (the-as (pointer drill-mech-master) #f)) (defmethod deactivate ((this drill-mech-master)) + "Make a process dead, clean it up, remove it from the active pool, and return to dead pool." (set! *drill-mech-master* (the-as (pointer drill-mech-master) #f)) (if (nonzero? (-> this alarm-sound-id)) (sound-stop (-> this alarm-sound-id)) @@ -89,11 +86,11 @@ ) ;; WARN: Return type mismatch process vs drill-mech-master. -(defmethod relocate ((this drill-mech-master) (arg0 int)) +(defmethod relocate ((this drill-mech-master) (offset int)) (if (nonzero? (-> this part-doom)) - (&+! (-> this part-doom) arg0) + (&+! (-> this part-doom) offset) ) - (the-as drill-mech-master ((method-of-type process relocate) this arg0)) + (the-as drill-mech-master ((method-of-type process relocate) this offset)) ) (defbehavior drill-mech-master-event-handler drill-mech-master ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) @@ -268,9 +265,9 @@ (position-in-front-of-camera! (-> s4-0 vector 2) 4096.0 0.0) (vector-! (-> s4-0 vector 2) (-> s4-0 vector 2) (-> s4-0 trans)) (vector-normalize! (-> s4-0 vector 2) 1.0) - (vector-cross! (the-as vector (-> s4-0 vector)) *up-vector* (-> s4-0 vector 2)) - (vector-normalize! (the-as vector (-> s4-0 vector)) 1.0) - (vector-cross! (-> s4-0 vector 1) (-> s4-0 vector 2) (the-as vector (-> s4-0 vector))) + (vector-cross! (-> s4-0 vector 0) *up-vector* (-> s4-0 vector 2)) + (vector-normalize! (-> s4-0 vector 0) 1.0) + (vector-cross! (-> s4-0 vector 1) (-> s4-0 vector 2) (-> s4-0 vector 0)) (vector-normalize! (-> s4-0 vector 1) 1.0) (set! (-> s4-0 vector 0 w) 0.0) (set! (-> s4-0 vector 1 w) 0.0) @@ -333,7 +330,7 @@ (set! (-> self alarm-sound-id) (new 'static 'sound-id)) (set! (-> self explosion-sound-id) (new 'static 'sound-id)) (set! (-> self total-countdown-time) (seconds 95)) - (set! (-> self part-doom) (create-launch-control (-> *part-group-id-table* 443) self)) + (set! (-> self part-doom) (create-launch-control group-drill-engulfing-death self)) (dotimes (gp-0 (-> *level* length)) (let ((v1-9 (-> *level* level gp-0))) (when (= (-> v1-9 status) 'active) diff --git a/goal_src/jak2/levels/drill/drill-obs.gc b/goal_src/jak2/levels/drill/drill-obs.gc index dda1d1073c..1c0ae96ca2 100644 --- a/goal_src/jak2/levels/drill/drill-obs.gc +++ b/goal_src/jak2/levels/drill/drill-obs.gc @@ -8,13 +8,9 @@ ;; DECOMP BEGINS (defmethod draw ((this hud-gruntegg)) - (set-hud-piece-position! - (the-as hud-sprite (-> this sprites)) - (the int (+ 462.0 (* 130.0 (-> this offset)))) - 200 - ) + (set-hud-piece-position! (-> this sprites 0) (the int (+ 462.0 (* 130.0 (-> this offset)))) 200) (format (clear (-> this strings 0 text)) "~D" (-> this values 0 current)) - (set-as-offset-from! (the-as hud-sprite (-> this strings 0 pos)) (the-as vector4w (-> this sprites)) -25 33) + (set-as-offset-from! (the-as hud-sprite (-> this strings 0 pos)) (-> this sprites 0 pos) -25 33) ((method-of-type hud draw) this) 0 (none) @@ -45,13 +41,9 @@ ) (defmethod draw ((this hud-crimsonhover)) - (set-hud-piece-position! - (the-as hud-sprite (-> this sprites)) - (the int (+ 462.0 (* 130.0 (-> this offset)))) - 200 - ) + (set-hud-piece-position! (-> this sprites 0) (the int (+ 462.0 (* 130.0 (-> this offset)))) 200) (format (clear (-> this strings 0 text)) "~D" (-> this values 0 current)) - (set-as-offset-from! (the-as hud-sprite (-> this strings 0 pos)) (the-as vector4w (-> this sprites)) -25 33) + (set-as-offset-from! (the-as hud-sprite (-> this strings 0 pos)) (-> this sprites 0 pos) -25 33) ((method-of-type hud draw) this) 0 (none) @@ -537,12 +529,7 @@ (defmethod commited-to-ride? ((this drill-mech-elevator)) "@returns if the target is considered within the elevator area enough to begin descending/ascending" (when (= (-> this move-pos 1) (-> this bottom-top 0)) - (let* ((s5-0 *target*) - (a0-2 (if (type? s5-0 process-focusable) - s5-0 - ) - ) - ) + (let ((a0-2 (the-as target (as-type *target* process-focusable)))) (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 (-> this root trans))) @@ -635,12 +622,7 @@ :event (behavior ((proc process) (argc int) (message symbol) (block event-message-block)) (case message (('touch 'attack) - (let* ((s4-0 proc) - (gp-0 (if (type? s4-0 process-focusable) - s4-0 - ) - ) - ) + (let ((gp-0 (the-as process (as-type proc process-focusable)))) (when gp-0 (when (or (focus-test? (the-as process-focusable gp-0) mech) (time-elapsed? (-> self no-collision-timer) (the-as time-frame (-> *TARGET-bank* hit-invulnerable-timeout))) @@ -786,8 +768,8 @@ (defmethod set-part ((this fire-floor)) "Set the particle launch controls for the on/off states." - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 399) this)) - (set! (-> this part-off) (create-launch-control (-> *part-group-id-table* 398) this)) + (set! (-> this part) (create-launch-control group-drill-fire-floor-dust this)) + (set! (-> this part-off) (create-launch-control group-drill-fire-floor-heat this)) 0 (none) ) @@ -860,27 +842,27 @@ (s3-0 (-> this local-to-world)) (s5-1 (-> this size)) ) - (get-point-in-path! (-> this path) (the-as vector (-> s4-1 vector)) 0.0 'interp) + (get-point-in-path! (-> this path) (-> s4-1 vector 0) 0.0 'interp) (get-point-in-path! (-> this path) (-> s4-1 vector 1) 1.0 'interp) (get-point-in-path! (-> this path) (-> s4-1 vector 2) 3.0 'interp) (matrix-identity! s3-0) (vector-normalize-copy! - (the-as vector (-> s3-0 vector)) - (vector-! (new 'stack-no-clear 'vector) (-> s4-1 vector 1) (the-as vector (-> s4-1 vector))) + (-> s3-0 vector 0) + (vector-! (new 'stack-no-clear 'vector) (-> s4-1 vector 1) (-> s4-1 vector 0)) 1.0 ) (vector-normalize-copy! (-> s3-0 vector 2) - (vector-! (new 'stack-no-clear 'vector) (-> s4-1 vector 2) (the-as vector (-> s4-1 vector))) + (vector-! (new 'stack-no-clear 'vector) (-> s4-1 vector 2) (-> s4-1 vector 0)) 1.0 ) - (vector-normalize! (vector-cross! (-> s3-0 vector 1) (-> s3-0 vector 2) (the-as vector (-> s3-0 vector))) 1.0) - (vector-cross! (-> s3-0 vector 2) (the-as vector (-> s3-0 vector)) (-> s3-0 vector 1)) + (vector-normalize! (vector-cross! (-> s3-0 vector 1) (-> s3-0 vector 2) (-> s3-0 vector 0)) 1.0) + (vector-cross! (-> s3-0 vector 2) (-> s3-0 vector 0) (-> s3-0 vector 1)) (vector-normalize! (-> s3-0 vector 2) 1.0) (set! (-> s3-0 trans quad) (-> s4-1 vector 0 quad)) (matrix-inverse-of-rot-trans! (-> this world-to-local) (-> this local-to-world)) - (set! (-> this deadly-width) (vector-vector-distance (-> s4-1 vector 1) (the-as vector (-> s4-1 vector)))) - (set! (-> this deadly-length) (vector-vector-distance (-> s4-1 vector 2) (the-as vector (-> s4-1 vector)))) + (set! (-> this deadly-width) (vector-vector-distance (-> s4-1 vector 1) (-> s4-1 vector 0))) + (set! (-> this deadly-length) (vector-vector-distance (-> s4-1 vector 2) (-> s4-1 vector 0))) (let ((v1-39 (-> this root root-prim))) (vector-reset! (-> v1-39 local-sphere)) (let* ((f0-14 (/ (-> this deadly-width) 2)) @@ -891,10 +873,10 @@ ) ) (set! (-> s5-1 0) - (vector-length (vector-! (new 'stack-no-clear 'vector) (-> s4-1 vector 1) (the-as vector (-> s4-1 vector)))) + (vector-length (vector-! (new 'stack-no-clear 'vector) (-> s4-1 vector 1) (-> s4-1 vector 0))) ) (set! (-> s5-1 1) - (vector-length (vector-! (new 'stack-no-clear 'vector) (-> s4-1 vector 2) (the-as vector (-> s4-1 vector)))) + (vector-length (vector-! (new 'stack-no-clear 'vector) (-> s4-1 vector 2) (-> s4-1 vector 0))) ) ) (let* ((v1-46 *game-info*) @@ -917,8 +899,8 @@ (defmethod set-part ((this fire-floor-a)) "Set the particle launch controls for the on/off states." - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 401) this)) - (set! (-> this part-off) (create-launch-control (-> *part-group-id-table* 400) this)) + (set! (-> this part) (create-launch-control group-drill-fire-floor-a-dust this)) + (set! (-> this part-off) (create-launch-control group-drill-fire-floor-a-heat this)) 0 (none) ) @@ -1278,8 +1260,8 @@ ) (logior! (-> this mask) (process-mask collectable)) (logclear! (-> this mask) (process-mask no-track)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 451) this)) - (set! (-> this green-part) (create-launch-control (-> *part-group-id-table* 452) this)) + (set! (-> this part) (create-launch-control group-drill-switch-red this)) + (set! (-> this green-part) (create-launch-control group-drill-switch-green this)) 0 (none) ) @@ -1395,15 +1377,11 @@ (let ((f0-7 (probe-using-line-sphere *collide-cache* s5-1))) (when (>= f0-7 0.0) (vector-float*! (-> s5-1 move-dist) (-> s5-1 move-dist) f0-7) - (let ((s4-2 (-> s5-1 best-other-tri collide-ptr))) - (when (if (type? s4-2 collide-shape-prim-sphere) - s4-2 - ) - (set! gp-0 #t) - (if (zero? (-> self hit-sound-id)) - (set! (-> self hit-sound-id) (sound-play "drill-laser-cut")) - ) - ) + (when (the-as basic (as-type (-> s5-1 best-other-tri collide-ptr) collide-shape-prim-sphere)) + (set! gp-0 #t) + (if (zero? (-> self hit-sound-id)) + (set! (-> self hit-sound-id) (sound-play "drill-laser-cut")) + ) ) ) ) diff --git a/goal_src/jak2/levels/drill/drill-obs2.gc b/goal_src/jak2/levels/drill/drill-obs2.gc index ae9e0ad7c9..2fb422262c 100644 --- a/goal_src/jak2/levels/drill/drill-obs2.gc +++ b/goal_src/jak2/levels/drill/drill-obs2.gc @@ -240,9 +240,7 @@ (the-as attack-info (mem-copy! (the-as pointer (new 'stack-no-clear 'attack-info)) (the-as pointer s4-0) 160)) (the-as uint s4-0) self - (if (type? arg0 process-drawable) - arg0 - ) + (the-as process (as-type arg0 process-drawable)) (the-as touching-shapes-entry (-> arg3 param 0)) ) (+! (-> self next-hit-state) 1) @@ -419,12 +417,7 @@ (defstate idle (drill-sliding-door) :virtual #t :trans (behavior () - (let* ((gp-0 *target*) - (a0-1 (if (type? gp-0 process-focusable) - gp-0 - ) - ) - ) + (let ((a0-1 (the-as target (as-type *target* process-focusable)))) (if (and a0-1 (< (vector-vector-distance (-> self root trans) (get-trans a0-1 0)) 40960.0)) (go-virtual open) ) @@ -661,14 +654,10 @@ :event (behavior ((proc process) (argc int) (message symbol) (block event-message-block)) (case message (('attack) - (let* ((s5-0 (-> block param 0)) - (gp-0 (the-as object (-> block param 1))) - (s4-0 proc) - (v1-1 (if (type? s4-0 process-drawable) - s4-0 - ) - ) - ) + (let ((s5-0 (-> block param 0)) + (gp-0 (the-as object (-> block param 1))) + (v1-1 (the-as process (as-type proc process-drawable))) + ) (when (and s5-0 v1-1 (or (= (-> (the-as attack-info gp-0) mode) 'turret) (= (-> (the-as attack-info gp-0) mode) 'explode)) @@ -752,43 +741,10 @@ (let ((gp-1 (new 'stack-no-clear 'vector))) (set! (-> gp-1 quad) (-> self root trans quad)) (+! (-> gp-1 y) 8192.0) - (let ((s5-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-1 - (let ((t9-3 (method-of-type part-tracker activate))) - (t9-3 - (the-as part-tracker s5-1) - *entity-pool* - (symbol->string (-> part-tracker symbol)) - (the-as pointer #x70004000) - ) - ) - (let ((t9-4 run-function-in-process) - (a0-9 s5-1) - (a1-3 part-tracker-init) - (a2-5 (-> *part-group-id-table* 420)) - (a3-2 0) - (t0-1 #f) - (t1-1 #f) - (t2-1 #f) - (t3-0 *launch-matrix*) - ) - (set! (-> t3-0 trans quad) (-> gp-1 quad)) - ((the-as (function object object object object object object object object none) t9-4) - a0-9 - a1-3 - a2-5 - a3-2 - t0-1 - t1-1 - t2-1 - t3-0 - ) - ) - (-> s5-1 ppointer) - ) - ) + (part-tracker-spawn :to *entity-pool* :group group-drill-metalhead-egg-explode :mat-joint gp-1) + ) + (suspend-for (seconds 0.5) ) - (suspend-for (seconds 0.5)) (cleanup-for-death self) ) ) @@ -1031,14 +987,10 @@ :event (behavior ((proc process) (argc int) (message symbol) (block event-message-block)) (case message (('attack) - (let* ((gp-0 (-> block param 0)) - (s5-0 (the-as object (-> block param 1))) - (s4-0 proc) - (v1-1 (if (type? s4-0 process-drawable) - s4-0 - ) - ) - ) + (let ((gp-0 (-> block param 0)) + (s5-0 (the-as object (-> block param 1))) + (v1-1 (the-as process (as-type proc process-drawable))) + ) (if (and gp-0 v1-1 (case (-> (the-as attack-info s5-0) mode) (('turret 'explode 'wasp-shot) #t @@ -1093,36 +1045,7 @@ (set! (-> self draw force-lod) 0) (set! (-> self draw bounds w) 573440.0) (when (not arg0) - (let ((gp-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-1 - (let ((t9-3 (method-of-type part-tracker activate))) - (t9-3 (the-as part-tracker gp-1) self (symbol->string (-> part-tracker symbol)) (the-as pointer #x70004000)) - ) - (let ((t9-4 run-function-in-process) - (a0-11 gp-1) - (a1-7 part-tracker-init) - (a2-5 (-> *part-group-id-table* 444)) - (a3-2 0) - (t0-1 #f) - (t1-1 #f) - (t2-1 #f) - (t3-0 *launch-matrix*) - ) - (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 - a2-5 - a3-2 - t0-1 - t1-1 - t2-1 - t3-0 - ) - ) - (-> gp-1 ppointer) - ) - ) + (part-tracker-spawn :to self :group group-drill-bridge-explode :mat-joint (-> self root trans)) (ja-no-eval :group! drill-bridge-shot-break-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) diff --git a/goal_src/jak2/levels/drill/drill-panel.gc b/goal_src/jak2/levels/drill/drill-panel.gc index a18eeb5d33..d9840a97eb 100644 --- a/goal_src/jak2/levels/drill/drill-panel.gc +++ b/goal_src/jak2/levels/drill/drill-panel.gc @@ -42,14 +42,15 @@ ;; WARN: Return type mismatch process-drawable vs drill-control-panel. -(defmethod relocate ((this drill-control-panel) (arg0 int)) +(defmethod relocate ((this drill-control-panel) (offset int)) (if (nonzero? (-> this debris-part)) - (&+! (-> this debris-part) arg0) + (&+! (-> this debris-part) offset) ) - (the-as drill-control-panel ((method-of-type process-drawable relocate) this arg0)) + (the-as drill-control-panel ((method-of-type process-drawable relocate) this offset)) ) (defmethod deactivate ((this drill-control-panel)) + "Make a process dead, clean it up, remove it from the active pool, and return to dead pool." (sound-stop (-> this idle-sound-id)) (if (nonzero? (-> this debris-part)) (kill-and-free-particles (-> this debris-part)) @@ -63,7 +64,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 429) + group-drill-panel-explosion 300 #f #f @@ -75,7 +76,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 430) + group-drill-panel-explosion-2 300 #f #f @@ -87,7 +88,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 431) + group-drill-panel-steam 300 #f #f @@ -98,7 +99,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 432) + group-drill-panel-spark 300 #f #f @@ -109,7 +110,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 432) + group-drill-panel-spark 300 #f #f @@ -120,7 +121,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 432) + group-drill-panel-spark 300 #f #f @@ -131,7 +132,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 432) + group-drill-panel-spark 300 #f #f @@ -142,7 +143,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 432) + group-drill-panel-spark 300 #f #f @@ -153,7 +154,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 434) + group-drill-panel-light-big-amber 300 #f #f @@ -164,7 +165,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 434) + group-drill-panel-light-big-amber 300 #f #f @@ -175,7 +176,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 434) + group-drill-panel-light-big-amber 300 #f #f @@ -186,7 +187,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 435) + group-drill-panel-light-blue 300 #f #f @@ -197,7 +198,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 435) + group-drill-panel-light-blue 300 #f #f @@ -208,7 +209,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 435) + group-drill-panel-light-blue 300 #f #f @@ -219,7 +220,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 435) + group-drill-panel-light-blue 300 #f #f @@ -230,7 +231,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 435) + group-drill-panel-light-blue 300 #f #f @@ -241,7 +242,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 433) + group-drill-panel-light-amber 300 #f #f @@ -252,7 +253,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 433) + group-drill-panel-light-amber 300 #f #f @@ -263,7 +264,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 433) + group-drill-panel-light-amber 300 #f #f @@ -274,7 +275,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 433) + group-drill-panel-light-amber 300 #f #f @@ -285,7 +286,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 433) + group-drill-panel-light-amber 300 #f #f @@ -296,7 +297,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 433) + group-drill-panel-light-amber 300 #f #f @@ -307,7 +308,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 433) + group-drill-panel-light-amber 300 #f #f @@ -323,7 +324,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 429) + group-drill-panel-explosion 300 #f #f @@ -334,7 +335,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 431) + group-drill-panel-steam 300 #f #f @@ -345,7 +346,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 432) + group-drill-panel-spark 300 #f #f @@ -356,7 +357,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 432) + group-drill-panel-spark 300 #f #f @@ -367,7 +368,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 432) + group-drill-panel-spark 300 #f #f @@ -378,7 +379,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 432) + group-drill-panel-spark 300 #f #f @@ -389,7 +390,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 432) + group-drill-panel-spark 300 #f #f @@ -400,7 +401,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 434) + group-drill-panel-light-big-amber 300 #f #f @@ -411,7 +412,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 434) + group-drill-panel-light-big-amber 300 #f #f @@ -422,7 +423,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 435) + group-drill-panel-light-blue 300 #f #f @@ -433,7 +434,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 435) + group-drill-panel-light-blue 300 #f #f @@ -444,7 +445,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 435) + group-drill-panel-light-blue 300 #f #f @@ -455,7 +456,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 435) + group-drill-panel-light-blue 300 #f #f @@ -466,7 +467,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 433) + group-drill-panel-light-amber 300 #f #f @@ -477,7 +478,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 433) + group-drill-panel-light-amber 300 #f #f @@ -488,7 +489,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 433) + group-drill-panel-light-amber 300 #f #f @@ -670,7 +671,7 @@ ) :code sleep-code :post (behavior () - (spawn-with-cspace (-> self part) (the-as cspace (-> self node-list data))) + (spawn-with-cspace (-> self part) (-> self node-list data 0)) (sound-play "small-panel" :id (-> self idle-sound-id)) ) ) @@ -715,11 +716,11 @@ ;; WARN: Return type mismatch object vs none. (defmethod init-from-entity! ((this drill-control-panel) (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" + This commonly includes things such as: + - stack size + - collision information + - loading the skeleton group / bones + - sounds" (init-collision! this) (process-drawable-from-entity! this arg0) (initialize-skeleton @@ -732,10 +733,10 @@ This commonly includes things such as: ) (init-panel this) (transform-post) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 427) this)) + (set! (-> this part) (create-launch-control group-drill-control-panel this)) (if (zero? (-> this id)) - (set! (-> this debris-part) (create-launch-control (-> *part-group-id-table* 436) this)) - (set! (-> this debris-part) (create-launch-control (-> *part-group-id-table* 437) this)) + (set! (-> this debris-part) (create-launch-control group-drill-control-panel-debris-1 this)) + (set! (-> this debris-part) (create-launch-control group-drill-control-panel-debris-2 this)) ) (if (task-node-closed? (game-task-node drill-mech-smash-consoles)) (process-entity-status! this (entity-perm-status bit-12) #t) @@ -755,11 +756,11 @@ This commonly includes things such as: ;; WARN: Return type mismatch object vs none. (defmethod init-from-entity! ((this drill-control-panel-a) (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" + This commonly includes things such as: + - stack size + - collision information + - loading the skeleton group / bones + - sounds" (init-collision! this) (process-drawable-from-entity! this arg0) (initialize-skeleton @@ -774,19 +775,19 @@ This commonly includes things such as: (init-panel this) (set! (-> this draw force-lod) 1) (transform-post) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 428) this)) + (set! (-> this part) (create-launch-control group-drill-control-panel-a this)) (case (-> this id) ((3 6 8) - (set! (-> this debris-part) (create-launch-control (-> *part-group-id-table* 438) this)) + (set! (-> this debris-part) (create-launch-control group-drill-control-panel-ab-debris-1 this)) ) ((5 9) - (set! (-> this debris-part) (create-launch-control (-> *part-group-id-table* 440) this)) + (set! (-> this debris-part) (create-launch-control group-drill-control-panel-ab-debris-3 this)) ) ((7) - (set! (-> this debris-part) (create-launch-control (-> *part-group-id-table* 441) this)) + (set! (-> this debris-part) (create-launch-control group-drill-control-panel-ab-debris-4 this)) ) (else - (set! (-> this debris-part) (create-launch-control (-> *part-group-id-table* 439) this)) + (set! (-> this debris-part) (create-launch-control group-drill-control-panel-ab-debris-2 this)) ) ) (if (task-node-closed? (game-task-node drill-mech-smash-consoles)) diff --git a/goal_src/jak2/levels/drill/ginsu.gc b/goal_src/jak2/levels/drill/ginsu.gc index e149549c9f..85d5f26b40 100644 --- a/goal_src/jak2/levels/drill/ginsu.gc +++ b/goal_src/jak2/levels/drill/ginsu.gc @@ -324,7 +324,7 @@ (set! (-> s5-0 trans quad) a2-2) ) (when (logtest? (enemy-flag drawn-mirrored) (-> this enemy-flags)) - (vector-negate! (the-as vector (-> s5-0 vector)) (the-as vector (-> s5-0 vector))) + (vector-negate! (-> s5-0 vector 0) (-> s5-0 vector 0)) (set! (-> s5-0 vector 0 w) 0.0) ) (spawn-with-matrix (-> this blade-part) s5-0) @@ -428,7 +428,7 @@ (set! (-> s5-0 quad) (-> a1-0 velocity quad)) ) (quaternion->matrix s4-0 (-> this root quat)) - (let ((f0-1 (vector-dot s5-0 (the-as vector (-> s4-0 vector))))) + (let ((f0-1 (vector-dot s5-0 (-> s4-0 vector 0)))) (if (logtest? (enemy-flag drawn-mirrored) (-> this enemy-flags)) (set! f0-1 (- f0-1)) ) @@ -516,21 +516,17 @@ (local-vars (v0-1 object)) (case arg2 (('touched) - (let ((s5-0 arg0)) - (when (if (type? s5-0 ginsu) - s5-0 - ) - (let ((s5-1 (vector<-cspace! (new 'stack-no-clear 'vector) (-> this node-list data 8)))) - (let ((a0-5 (vector<-cspace! (new 'stack-no-clear 'vector) (-> this node-list data 8)))) - (vector+! s5-1 s5-1 a0-5) - ) - (vector-float*! s5-1 s5-1 0.5) - (spawn (-> this part) s5-1) + (when (the-as process (as-type arg0 ginsu)) + (let ((s5-1 (vector<-cspace! (new 'stack-no-clear 'vector) (-> this node-list data 8)))) + (let ((a0-5 (vector<-cspace! (new 'stack-no-clear 'vector) (-> this node-list data 8)))) + (vector+! s5-1 s5-1 a0-5) ) - (set! v0-1 (+ (current-time) (seconds 0.125))) - (set! (-> this grind-timer) (the-as time-frame v0-1)) - v0-1 + (vector-float*! s5-1 s5-1 0.5) + (spawn (-> this part) s5-1) ) + (set! v0-1 (+ (current-time) (seconds 0.125))) + (set! (-> this grind-timer) (the-as time-frame v0-1)) + v0-1 ) ) (('touch 'bonk 'attack) @@ -1058,8 +1054,8 @@ (ginsu-method-183 this #f) (set! (-> this blade-jm) (new 'process 'joint-mod (joint-mod-mode joint-set*) this 8)) (init (-> this blade-speed) 1.0 0.01 0.1 0.9) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 475) this)) - (set! (-> this blade-part) (create-launch-control (-> *part-group-id-table* 476) this)) + (set! (-> this part) (create-launch-control group-ginsu-sparks this)) + (set! (-> this blade-part) (create-launch-control group-ginsu-blade this)) (set! (-> this ambush-path) (new 'process 'curve-control this 'intro -1000000000.0)) (set! (-> this ambush-started) #f) (set! (-> this path-pos) 0.0) diff --git a/goal_src/jak2/levels/forest/forest-obs.gc b/goal_src/jak2/levels/forest/forest-obs.gc index f522240a36..ac925280a1 100644 --- a/goal_src/jak2/levels/forest/forest-obs.gc +++ b/goal_src/jak2/levels/forest/forest-obs.gc @@ -164,46 +164,34 @@ (send-event proc 'touch (-> block param 0)) ) (('attack) - (let ((s4-0 *target*) - (s3-0 proc) - ) - (when (!= (if (type? s3-0 process-focusable) - (the-as process-focusable s3-0) + (when (!= (as-type proc process-focusable) *target*) + (let ((s5-1 (the-as attack-info (-> block param 1)))) + (case (-> s5-1 mode) + (('eco-red 'eco-yellow 'eco-blue 'eco-dark) + #f + ) + (else + (when (!= (-> s5-1 id) (-> self incoming-attack-id)) + (set! (-> self incoming-attack-id) (-> s5-1 id)) + (let ((v1-10 (as-type proc process-focusable))) + (cond + (v1-10 + (vector-! (-> self hit-dir) (-> self root trans) (-> v1-10 root trans)) + (vector-normalize! (-> self hit-dir) 1.0) ) - s4-0 - ) - (let ((s5-1 (the-as attack-info (-> block param 1)))) - (case (-> s5-1 mode) - (('eco-red 'eco-yellow 'eco-blue 'eco-dark) - #f - ) - (else - (when (!= (-> s5-1 id) (-> self incoming-attack-id)) - (set! (-> self incoming-attack-id) (-> s5-1 id)) - (let ((v1-10 (if (type? proc process-focusable) - (the-as process-focusable proc) - ) - ) - ) - (cond - (v1-10 - (vector-! (-> self hit-dir) (-> self root trans) (-> v1-10 root trans)) - (vector-normalize! (-> self hit-dir) 1.0) - ) - ((logtest? (attack-mask attacker-velocity) (-> s5-1 mask)) - (vector-normalize-copy! (-> self hit-dir) (-> s5-1 attacker-velocity) 1.0) - ) - (else - (vector-reset! (-> self hit-dir)) - ) + ((logtest? (attack-mask attacker-velocity) (-> s5-1 mask)) + (vector-normalize-copy! (-> self hit-dir) (-> s5-1 attacker-velocity) 1.0) + ) + (else + (vector-reset! (-> self hit-dir)) ) ) - (+! (-> self hit-points) -1.0) - (if (>= 0.0 (-> self hit-points)) - (go-virtual die) - (go-virtual hit) - ) ) + (+! (-> self hit-points) -1.0) + (if (>= 0.0 (-> self hit-points)) + (go-virtual die) + (go-virtual hit) + ) ) ) ) @@ -457,7 +445,7 @@ (set! (-> this focus-disable-timer) (the-as uint 0)) (set! (-> this hud) (ppointer->handle (process-spawn hud-samos-young :init hud-init-by-other :to this))) (set! (-> this sound-id) (new-sound-id)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 494) this)) + (set! (-> this part) (create-launch-control group-youngsamos-float this)) (go (method-of-object this idle)) (none) ) diff --git a/goal_src/jak2/levels/fortress/dump/fordumpa-obs.gc b/goal_src/jak2/levels/fortress/dump/fordumpa-obs.gc index 0f9a9ee3b0..d8c85a80ef 100644 --- a/goal_src/jak2/levels/fortress/dump/fordumpa-obs.gc +++ b/goal_src/jak2/levels/fortress/dump/fordumpa-obs.gc @@ -48,11 +48,13 @@ :virtual #t :event (-> (method-of-type fort-elec-switch idle) event) :code (behavior () - (suspend-for (seconds 16)) + (suspend-for (seconds 16) + ) (until (logtest? (-> self draw status) (draw-control-status on-screen)) (suspend) ) - (suspend-for (seconds 0.4)) + (suspend-for (seconds 0.4) + ) (talker-spawn-func (-> *talker-speech* 86) *entity-pool* (target-pos 0) (the-as region #f)) (sleep-code) ) @@ -92,44 +94,11 @@ (let ((gp-0 (new 'stack-no-clear 'vector))) (set! (-> gp-0 quad) (-> self root trans quad)) (+! (-> gp-0 y) 8192.0) - (let ((s5-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-0 - (let ((t9-1 (method-of-type part-tracker activate))) - (t9-1 - (the-as part-tracker s5-0) - *entity-pool* - (symbol->string (-> part-tracker symbol)) - (the-as pointer #x70004000) - ) - ) - (let ((t9-2 run-function-in-process) - (a0-6 s5-0) - (a1-2 part-tracker-init) - (a2-4 (-> *part-group-id-table* 125)) - (a3-1 0) - (t0-0 #f) - (t1-0 #f) - (t2-0 #f) - (t3-0 *launch-matrix*) - ) - (set! (-> t3-0 trans quad) (-> gp-0 quad)) - ((the-as (function object object object object object object object object none) t9-2) - a0-6 - a1-2 - a2-4 - a3-1 - t0-0 - t1-0 - t2-0 - t3-0 - ) - ) - (-> s5-0 ppointer) - ) - ) + (part-tracker-spawn :to *entity-pool* :group group-crate-steel-explode :mat-joint gp-0) ) (sound-play "elec-switch") - (suspend-for (seconds 0.5)) + (suspend-for (seconds 0.5) + ) (let ((v1-22 #t)) (when (-> self switch-group) (dotimes (a0-11 (-> self switch-group-count)) @@ -161,7 +130,8 @@ ) ) ) - (suspend-for (seconds 0.75)) + (suspend-for (seconds 0.75) + ) (let ((a1-14 (new 'stack-no-clear 'event-message-block))) (set! (-> a1-14 from) (process->ppointer self)) (set! (-> a1-14 num-params) 0) @@ -177,7 +147,8 @@ ) ) ) - (suspend-for (seconds 1.5)) + (suspend-for (seconds 1.5) + ) (remove-setting! 'entity-name) (remove-setting! 'process-mask) (process-release? *target*) diff --git a/goal_src/jak2/levels/fortress/dump/fordumpa-part.gc b/goal_src/jak2/levels/fortress/dump/fordumpa-part.gc index 45f9d5a27a..78c3dfcccd 100644 --- a/goal_src/jak2/levels/fortress/dump/fordumpa-part.gc +++ b/goal_src/jak2/levels/fortress/dump/fordumpa-part.gc @@ -1436,8 +1436,8 @@ ) (defmethod elec-gate-method-24 ((this fort-elec-gate)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 551) this)) - (set! (-> this part-off) (create-launch-control (-> *part-group-id-table* 552) this)) + (set! (-> this part) (create-launch-control group-fordumpa-lightning-pole this)) + (set! (-> this part-off) (create-launch-control group-fordumpa-lightning-pole-off this)) 0 (none) ) diff --git a/goal_src/jak2/levels/fortress/dump/fordumpc-obs.gc b/goal_src/jak2/levels/fortress/dump/fordumpc-obs.gc index 25d3b42d36..65e8a1509e 100644 --- a/goal_src/jak2/levels/fortress/dump/fordumpc-obs.gc +++ b/goal_src/jak2/levels/fortress/dump/fordumpc-obs.gc @@ -8,13 +8,9 @@ ;; DECOMP BEGINS (defmethod draw ((this hud-rocketsensor)) - (set-hud-piece-position! - (the-as hud-sprite (-> this sprites)) - (the int (+ 457.0 (* 130.0 (-> this offset)))) - 210 - ) + (set-hud-piece-position! (-> this sprites 0) (the int (+ 457.0 (* 130.0 (-> this offset)))) 210) (format (clear (-> this strings 0 text)) "~D" (-> this values 0 current)) - (set-as-offset-from! (the-as hud-sprite (-> this strings 0 pos)) (the-as vector4w (-> this sprites)) -17 25) + (set-as-offset-from! (the-as hud-sprite (-> this strings 0 pos)) (-> this sprites 0 pos) -17 25) ((method-of-type hud draw) this) 0 (none) @@ -64,14 +60,10 @@ :event (behavior ((proc process) (argc int) (message symbol) (block event-message-block)) (case message (('attack) - (let* ((s5-0 (-> block param 0)) - (gp-0 (the-as attack-info (-> block param 1))) - (s4-0 proc) - (v1-1 (if (type? s4-0 process-drawable) - (the-as process-drawable s4-0) - ) - ) - ) + (let ((s5-0 (-> block param 0)) + (gp-0 (the-as attack-info (-> block param 1))) + (v1-1 (as-type proc process-drawable)) + ) (if (and s5-0 v1-1 (or (= (-> gp-0 mode) 'fort-robotank-shot) (= (-> gp-0 mode) 'explode))) (go-virtual die) ) @@ -111,7 +103,7 @@ (let ((t9-4 run-function-in-process) (a0-8 s5-1) (a1-3 part-tracker-init) - (a2-5 (-> *part-group-id-table* 572)) + (a2-5 group-bomb-explosion) (a3-2 0) (t0-1 #f) (t1-1 #f) @@ -134,7 +126,8 @@ ) ) ) - (suspend-for (seconds 0.5)) + (suspend-for (seconds 0.5) + ) (cleanup-for-death self) ) ) @@ -170,7 +163,7 @@ (the-as skeleton-group (art-group-get-by-name *level* "skel-fort-dump-bomb-a" (the-as (pointer uint32) #f))) (the-as pair 0) ) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 573) this)) + (set! (-> this part) (create-launch-control group-fort-dump-bomb-a-steamescape this)) (let ((a0-13 (-> this skel root-channel 0))) (set! (-> a0-13 frame-group) (the-as art-joint-anim (-> this draw art-group data 3))) (set! (-> a0-13 frame-num) 0.0) @@ -224,14 +217,10 @@ :event (behavior ((proc process) (argc int) (message symbol) (block event-message-block)) (case message (('attack 'touch) - (let* ((gp-0 (-> block param 0)) - (s5-0 (the-as attack-info (-> block param 1))) - (s4-0 proc) - (v1-1 (if (type? s4-0 projectile) - (the-as projectile s4-0) - ) - ) - ) + (let ((gp-0 (-> block param 0)) + (s5-0 (the-as attack-info (-> block param 1))) + (v1-1 (as-type proc projectile)) + ) (if (and gp-0 v1-1 (= (-> s5-0 mode) 'fort-robotank-shot)) (go-virtual die) ) @@ -294,7 +283,7 @@ (let ((s5-1 (vector-normalize! (vector-! (new 'stack-no-clear 'vector) gp-0 s2-0) 1.0)) (gp-1 (vector-normalize! (vector-! (new 'stack-no-clear 'vector) gp-0 s4-0) 1.0)) ) - (forward-up->inv-matrix (the-as matrix (-> self part-mat)) s5-1 *up-vector*) + (forward-up->inv-matrix (-> self part-mat 0) s5-1 *up-vector*) (set! (-> self part-mat 0 trans quad) (-> s2-0 quad)) (forward-up->inv-matrix (-> self part-mat 1) gp-1 *up-vector*) ) @@ -316,48 +305,15 @@ (activate! *camera-smush-control* 819.2 37 210 1.0 0.995 (-> self clock)) (sound-play "fort-target") (suspend) - (let ((gp-2 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-2 - (let ((t9-9 (method-of-type part-tracker activate))) - (t9-9 - (the-as part-tracker gp-2) - *entity-pool* - (symbol->string (-> part-tracker symbol)) - (the-as pointer #x70004000) - ) - ) - (let ((t9-10 run-function-in-process) - (a0-10 gp-2) - (a1-9 part-tracker-init) - (a2-13 (-> *part-group-id-table* 581)) - (a3-5 0) - (t0-3 #f) - (t1-3 #f) - (t2-2 #f) - (t3-0 *launch-matrix*) - ) - (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 - a2-13 - a3-5 - t0-3 - t1-3 - t2-2 - t3-0 - ) - ) - (-> gp-2 ppointer) - ) + (part-tracker-spawn :to *entity-pool* :group group-missile-target-explosion :mat-joint (-> self root trans)) + (suspend-for (seconds 1) ) - (suspend-for (seconds 1)) (send-event (ppointer->process (-> self parent)) 'died) (sleep-code) ) :post (behavior () (sound-play "missile-steam" :id (the-as sound-id (-> self sound-id))) - (spawn-with-matrix (-> self part) (the-as matrix (-> self part-mat))) + (spawn-with-matrix (-> self part) (-> self part-mat 0)) (spawn-with-matrix (-> self part) (-> self part-mat 1)) ) ) @@ -427,7 +383,7 @@ (the-as pair 0) ) (set! (-> self draw light-index) (the-as uint 17)) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 582) self)) + (set! (-> self part) (create-launch-control group-fort-missile-target-steamescape self)) (setup-masks (-> self draw) -1 0) (ja-no-eval :group! fort-missile-target-idle-ja :num! zero) (transform-post) @@ -514,22 +470,27 @@ ) ) :code (behavior () - (suspend-for (seconds 8)) + (suspend-for (seconds 8) + ) (until (logtest? (-> self draw status) (draw-control-status on-screen)) (suspend) ) (when (= (-> self bomb-count) 4) - (suspend-for (seconds 0.4)) + (suspend-for (seconds 0.4) + ) (add-process *gui-control* self (gui-channel daxter) (gui-action play) "ds017" -99.0 0) ) - (suspend-for (seconds 20)) + (suspend-for (seconds 20) + ) (if (= (-> self bomb-count) 4) (add-process *gui-control* self (gui-channel daxter) (gui-action play) "ds018" -99.0 0) ) (while (> (-> self bomb-count) 0) - (suspend-for (seconds 0.2)) + (suspend-for (seconds 0.2) + ) + ) + (suspend-for (seconds 0.8) ) - (suspend-for (seconds 0.8)) (go-virtual missile-countdown) ) :post (behavior () @@ -572,14 +533,16 @@ ) ) (set-fordumpc-light-flag! #t) - (suspend-for (seconds 0.2)) + (suspend-for (seconds 0.2) + ) (while (not (process-grab? *target* #f)) (suspend) ) (set-setting! 'entity-name "camera-182" 0.0 0) (set-setting! 'process-mask 'set 0.0 (process-mask movie enemy)) (task-node-close! (game-task-node fortress-dump-missile)) - (suspend-for (seconds 0.75)) + (suspend-for (seconds 0.75) + ) (let ((a1-5 (new 'stack-no-clear 'event-message-block))) (set! (-> a1-5 from) (process->ppointer self)) (set! (-> a1-5 num-params) 0) @@ -610,7 +573,8 @@ ) ) ) - (suspend-for (seconds 1.5)) + (suspend-for (seconds 1.5) + ) (remove-setting! 'entity-name) (remove-setting! 'process-mask) (process-release? *target*) @@ -633,13 +597,15 @@ (set! (-> *game-info* timer) 0) (set! (-> self hud) (ppointer->handle (process-spawn hud-timer :init hud-init-by-other :to *target*))) ) - (suspend-for (seconds 0.4)) + (suspend-for (seconds 0.4) + ) (set! (-> self explosion-sound-id) (add-process *gui-control* self (gui-channel background) (gui-action queue) "big-xplo" -99.0 0) ) (dotimes (gp-5 10) (set! (-> *game-info* timer) (the-as time-frame (- 3000 (the int (* 300.0 (the float gp-5)))))) - (suspend-for (seconds 1)) + (suspend-for (seconds 1) + ) ) (go-virtual die) ) @@ -656,13 +622,9 @@ (go-virtual dormant) ) (('touched) - (let ((s4-0 proc)) - (if (if (type? s4-0 process-drawable) - s4-0 - ) - (send-event proc 'attack (-> block param 0) (static-attack-info ((id (-> self attack-id)) (mode 'explode)))) - ) - ) + (if (the-as process (as-type proc process-drawable)) + (send-event proc 'attack (-> block param 0) (static-attack-info ((id (-> self attack-id)) (mode 'explode)))) + ) ) ) ) @@ -675,7 +637,8 @@ (remove-setting! 'allow-progress) ) :code (behavior () - (suspend-for (seconds 0.4)) + (suspend-for (seconds 0.4) + ) (logior! (-> self draw status) (draw-control-status no-draw)) (when *scene-player* (cleanup-for-death self) @@ -696,7 +659,7 @@ (let ((t9-4 run-function-in-process) (a0-8 s5-0) (a1-2 part-tracker-init) - (a2-4 (-> *part-group-id-table* 125)) + (a2-4 group-crate-steel-explode) (a3-1 0) (t0-0 #f) (t1-0 #f) @@ -818,9 +781,9 @@ (position-in-front-of-camera! (-> s5-3 vector 2) 4096.0 0.0) (vector-! (-> s5-3 vector 2) (-> s5-3 vector 2) (-> s5-3 trans)) (vector-normalize! (-> s5-3 vector 2) 1.0) - (vector-cross! (the-as vector (-> s5-3 vector)) *up-vector* (-> s5-3 vector 2)) - (vector-normalize! (the-as vector (-> s5-3 vector)) 1.0) - (vector-cross! (-> s5-3 vector 1) (-> s5-3 vector 2) (the-as vector (-> s5-3 vector))) + (vector-cross! (-> s5-3 vector 0) *up-vector* (-> s5-3 vector 2)) + (vector-normalize! (-> s5-3 vector 0) 1.0) + (vector-cross! (-> s5-3 vector 1) (-> s5-3 vector 2) (-> s5-3 vector 0)) (vector-normalize! (-> s5-3 vector 1) 1.0) (set! (-> s5-3 vector 0 w) 0.0) (set! (-> s5-3 vector 1 w) 0.0) @@ -833,7 +796,8 @@ (suspend) ) ) - (suspend-for (seconds 10)) + (suspend-for (seconds 10) + ) (cleanup-for-death self) ) ) @@ -929,7 +893,7 @@ ) (set! (-> this bomb-count) (the-as uint 4)) (set! (-> this hud) (the-as handle #f)) - (set! (-> this part-doom) (create-launch-control (-> *part-group-id-table* 583) this)) + (set! (-> this part-doom) (create-launch-control group-fort-missile-engulfing-death this)) (set! (-> this alarm-sound-id) (new-sound-id)) (let ((a0-36 (-> this skel root-channel 0))) (set! (-> a0-36 frame-group) (the-as art-joint-anim (-> this draw art-group data 2))) diff --git a/goal_src/jak2/levels/fortress/dump/fort-robotank.gc b/goal_src/jak2/levels/fortress/dump/fort-robotank.gc index b26343a42b..45ed8f6dc6 100644 --- a/goal_src/jak2/levels/fortress/dump/fort-robotank.gc +++ b/goal_src/jak2/levels/fortress/dump/fort-robotank.gc @@ -375,12 +375,7 @@ (f26-0 0.0) ) (when (and (or (< f0-44 f24-0) (< f24-0 f1-16)) (time-elapsed? (-> self buzz-timer) (the int (/ f30-2 2)))) - (let* ((gp-2 *target*) - (a0-43 (if (type? gp-2 process-focusable) - gp-2 - ) - ) - ) + (let ((a0-43 (the-as target (as-type *target* process-focusable)))) (if a0-43 (set! f26-0 (lerp-scale 1.0 0.0 (vector-vector-distance (-> self root trans) (get-trans a0-43 0)) 81920.0 327680.0) @@ -432,8 +427,8 @@ (quaternion-rotate-local-x! s4-3 s4-3 f30-3) ) ) - (vector-orient-by-quat! (the-as vector (-> self pov-cam-offset)) (-> self pov-cam-offset 1) s4-3) - (vector+! (the-as vector (-> self pov-cam-offset)) (the-as vector (-> self pov-cam-offset)) s3-4) + (vector-orient-by-quat! (-> self pov-cam-offset 0) (-> self pov-cam-offset 1) s4-3) + (vector+! (-> self pov-cam-offset 0) (-> self pov-cam-offset 0) s3-4) ) ) ) @@ -488,11 +483,7 @@ (-> self root) (the-as uint 1) ) - (let ((s5-0 (if (type? arg0 process-focusable) - (the-as process-focusable arg0) - ) - ) - ) + (let ((s5-0 (as-type arg0 process-focusable))) (when s5-0 (let ((a0-48 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root quat)))) (when (send-event @@ -720,12 +711,7 @@ (if (not *target*) (go-virtual die) ) - (let* ((gp-0 *target*) - (a0-1 (if (type? gp-0 process-focusable) - gp-0 - ) - ) - ) + (let ((a0-1 (the-as target (as-type *target* process-focusable)))) (when a0-1 (if (< (-> (get-trans a0-1 0) y) (+ -18432.0 (-> self root trans y))) (go-virtual die) @@ -737,13 +723,9 @@ (gp-1 (-> self segment-table v1-14)) ) (fort-robotank-method-26 self 0 (-> s5-0 u) (-> s5-0 prev-u)) - (let ((s4-0 *target*)) - (if (if (type? s4-0 process-focusable) - s4-0 - ) - (fort-robotank-method-26 self 1 (-> self player-u) (-> self player-prev-u)) - ) - ) + (if (the-as target (as-type *target* process-focusable)) + (fort-robotank-method-26 self 1 (-> self player-u) (-> self player-prev-u)) + ) (when (= (-> s5-0 u) 1.0) (cond ((logtest? (-> gp-1 flags) 1) @@ -776,11 +758,7 @@ ) :post (behavior () (when (logtest? (-> self flags) (robotank-flags roflags-2)) - (let* ((gp-0 *target*) - (s3-0 (if (type? gp-0 process-focusable) - gp-0 - ) - ) + (let* ((s3-0 (the-as target (as-type *target* process-focusable))) (s5-0 (if s3-0 (get-trans s3-0 0) (the-as vector #f) @@ -1164,8 +1142,8 @@ ) (set-vector! (-> this pov-cam-offset 0) 0.0 13516.8 -13516.8 1.0) (set-vector! (-> this pov-cam-offset 1) 0.0 13516.8 -13516.8 1.0) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 561) this)) - (set! (-> this barrel-part) (create-launch-control (-> *part-group-id-table* 562) this)) + (set! (-> this part) (create-launch-control group-robotank-steamescape this)) + (set! (-> this barrel-part) (create-launch-control group-robotank-barrel-sparks this)) (set! (-> this sound) (new 'process 'ambient-sound (static-sound-spec "robotank-tread" :fo-max 70) (-> this root trans)) ) diff --git a/goal_src/jak2/levels/fortress/exit/forexita-obs.gc b/goal_src/jak2/levels/fortress/exit/forexita-obs.gc index 1172ec62e3..0eeb3a24bb 100644 --- a/goal_src/jak2/levels/fortress/exit/forexita-obs.gc +++ b/goal_src/jak2/levels/fortress/exit/forexita-obs.gc @@ -184,7 +184,7 @@ ;; WARN: Return type mismatch sparticle-launch-control vs none. (defmethod base-plat-method-32 ((this fort-lift-plat)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 618) this)) + (set! (-> this part) (create-launch-control group-forexita-lift-plat-glow this)) (none) ) @@ -317,7 +317,8 @@ () (until #f (sound-play "fortress-alarm") - (suspend-for (seconds 1)) + (suspend-for (seconds 1) + ) ) #f ) diff --git a/goal_src/jak2/levels/fortress/fort-turret.gc b/goal_src/jak2/levels/fortress/fort-turret.gc index 6d9eef1c02..1145b7cb62 100644 --- a/goal_src/jak2/levels/fortress/fort-turret.gc +++ b/goal_src/jak2/levels/fortress/fort-turret.gc @@ -620,12 +620,7 @@ ((>= f30-0 0.0) (set! (-> this beam-intersect) (the-as basic 'wall)) (when (-> s3-0 best-other-tri collide-ptr) - (let* ((s3-1 (-> s3-0 best-other-tri collide-ptr)) - (a0-14 (if (type? s3-1 collide-shape-prim) - (the-as collide-shape-prim s3-1) - ) - ) - ) + (let ((a0-14 (as-type (-> s3-0 best-other-tri collide-ptr) collide-shape-prim))) (when a0-14 (when (= (-> a0-14 cshape process type) target) (set! (-> this target-timeout) (the-as uint (current-time))) @@ -1020,7 +1015,7 @@ ) (logclear! (-> this mask) (process-mask actor-pause)) (logclear! (-> this enemy-flags) (enemy-flag actor-pause-backup)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 685) this)) + (set! (-> this part) (create-launch-control group-fort-turret-hit this)) (set! (-> this gun-tilt-jm) (new 'process 'joint-mod (joint-mod-mode joint-set*) this 4)) (set! (-> this gun-shadow-jm) (the-as joint-mod (new 'process 'joint-mod-set-local this 10 #f #f #t))) (set! (-> this gun-shadow-jm twist-min-y) (the-as float #t)) diff --git a/goal_src/jak2/levels/fortress/rescue/forresca-part.gc b/goal_src/jak2/levels/fortress/rescue/forresca-part.gc index bdad3d120d..fb6932353d 100644 --- a/goal_src/jak2/levels/fortress/rescue/forresca-part.gc +++ b/goal_src/jak2/levels/fortress/rescue/forresca-part.gc @@ -1466,8 +1466,8 @@ ) (defmethod elec-gate-method-24 ((this fort-elec-gate)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 653) this)) - (set! (-> this part-off) (create-launch-control (-> *part-group-id-table* 654) this)) + (set! (-> this part) (create-launch-control group-forresca-lightning-pole this)) + (set! (-> this part-off) (create-launch-control group-forresca-lightning-pole-off this)) 0 (none) ) diff --git a/goal_src/jak2/levels/gungame/gun-dummy.gc b/goal_src/jak2/levels/gungame/gun-dummy.gc index 251be847d9..299305e8a1 100644 --- a/goal_src/jak2/levels/gungame/gun-dummy.gc +++ b/goal_src/jak2/levels/gungame/gun-dummy.gc @@ -2200,22 +2200,14 @@ ) (when (!= (-> attack-info id) (-> self incoming-attack-id)) (set! (-> self incoming-attack-id) (-> attack-info id)) - (let ((proc-draw (if (type? proc process-drawable) - (the-as process-drawable proc) - ) - ) - ) + (let ((proc-draw (as-type proc process-drawable))) (when proc-draw - (let ((cshape (-> proc-draw root))) - (when (if (type? cshape collide-shape) - cshape - ) - (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 trans)) 4096.0) - ) + (when (the-as trsqv (as-type (-> proc-draw root) collide-shape)) + (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 trans)) 4096.0) ) ) (cond @@ -2392,7 +2384,7 @@ ) ) (set! (-> this info) arg0) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 519) this)) + (set! (-> this part) (create-launch-control group-gun-dummy-sparks this)) (set! (-> this next-spark) 0) 0 (none) @@ -2465,7 +2457,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 520) + group-gun-dummy-a 300 #f #f @@ -2501,7 +2493,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 521) + group-gun-dummy-b 300 #f #f @@ -2537,7 +2529,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 522) + group-gun-dummy-c 300 #f #f @@ -2573,7 +2565,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 523) + group-gun-dummy-big 300 #f #f @@ -2609,7 +2601,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 524) + group-gun-dummy-gold 300 #f #f @@ -2645,7 +2637,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 525) + group-gun-dummy-peace 300 #f #f @@ -2683,7 +2675,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 526) + group-gun-cit-a 300 #f #f @@ -2721,7 +2713,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 527) + group-gun-cit-b 300 #f #f @@ -2759,7 +2751,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 528) + group-gun-cit-c 300 #f #f @@ -2797,7 +2789,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 529) + group-gun-cit-d 300 #f #f diff --git a/goal_src/jak2/levels/hiphog/whack.gc b/goal_src/jak2/levels/hiphog/whack.gc index 1de41a34cc..a84eea36a5 100644 --- a/goal_src/jak2/levels/hiphog/whack.gc +++ b/goal_src/jak2/levels/hiphog/whack.gc @@ -1473,12 +1473,7 @@ (sleep-code) ) :post (behavior () - (let* ((s5-0 (handle->process (-> self cabinet))) - (gp-0 (if (type? s5-0 process-drawable) - s5-0 - ) - ) - ) + (let ((gp-0 (the-as process (as-type (handle->process (-> self cabinet)) process-drawable)))) (when gp-0 (let* ((v1-4 (-> self index)) (v1-5 (cond @@ -2173,49 +2168,48 @@ (until (ja-done? 0) (when (rand-vu-percent? 0.2) (let* ((gp-2 (get-process *default-dead-pool* lightning-tracker #x4000)) - (v1-26 - (when gp-2 - (let ((t9-6 (method-of-type lightning-tracker activate))) - (t9-6 - (the-as lightning-tracker gp-2) - self - (symbol->string (-> lightning-tracker symbol)) - (the-as pointer #x70004000) - ) - ) - (let ((s5-1 run-function-in-process) - (s4-0 gp-2) - (s3-0 lightning-tracker-init) - (s2-0 (-> *lightning-spec-id-table* 21)) - (s1-0 0) - (s0-0 lightning-probe-callback) - ) - (set! sv-48 self) - (set! sv-64 vector<-cspace!) - (set! sv-80 (new 'stack-no-clear 'vector)) - (let ((a1-8 (-> self node-list data (rand-vu-int-range 3 (+ (-> self node-list length) -1))))) - (set! sv-96 (sv-64 sv-80 a1-8)) - ) - (set! sv-112 vector<-cspace!) - (set! sv-128 (new 'stack-no-clear 'vector)) - (let* ((a1-10 (-> self node-list data (rand-vu-int-range 3 (+ (-> self node-list length) -1)))) - (t3-0 (sv-112 sv-128 a1-10)) + (v1-26 (when gp-2 + (let ((t9-6 (method-of-type lightning-tracker activate))) + (t9-6 + (the-as lightning-tracker gp-2) + self + (symbol->string (-> lightning-tracker symbol)) + (the-as pointer #x70004000) ) - ((the-as (function object object object object object object object object none) s5-1) - s4-0 - s3-0 - s2-0 - s1-0 - s0-0 - sv-48 - sv-96 - t3-0 + ) + (let ((s5-1 run-function-in-process) + (s4-0 gp-2) + (s3-0 lightning-tracker-init) + (s2-0 (-> *lightning-spec-id-table* 21)) + (s1-0 0) + (s0-0 lightning-probe-callback) + ) + (set! sv-48 self) + (set! sv-64 vector<-cspace!) + (set! sv-80 (new 'stack-no-clear 'vector)) + (let ((a1-8 (-> self node-list data (rand-vu-int-range 3 (+ (-> self node-list length) -1))))) + (set! sv-96 (sv-64 sv-80 a1-8)) + ) + (set! sv-112 vector<-cspace!) + (set! sv-128 (new 'stack-no-clear 'vector)) + (let* ((a1-10 (-> self node-list data (rand-vu-int-range 3 (+ (-> self node-list length) -1)))) + (t3-0 (sv-112 sv-128 a1-10)) + ) + ((the-as (function object object object object object object object object none) s5-1) + s4-0 + s3-0 + s2-0 + s1-0 + s0-0 + sv-48 + sv-96 + t3-0 + ) + ) + ) + (-> gp-2 ppointer) ) - ) - ) - (-> gp-2 ppointer) - ) - ) + ) ) (when v1-26 (set! (-> (the-as lightning-tracker (-> v1-26 0)) user-time 0) 0) @@ -2228,17 +2222,7 @@ (suspend) (ja :num! (seek!)) ) - (process-spawn - part-tracker - :init part-tracker-init - (-> *part-group-id-table* 770) - 0 - #f - #f - self - 9 - :to *entity-pool* - ) + (process-spawn part-tracker :init part-tracker-init group-mole-dizzy 0 #f #f self 9 :to *entity-pool*) (ja-no-eval :group! daxter-highres-mole-idle-shock-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (+! (-> self event-time) (- (current-time) (-> self clock old-frame-counter))) @@ -2349,17 +2333,7 @@ (set! (-> a1-3 message) 'touch) (case (send-event-function (ppointer->process (-> self mole arg0)) a1-3) (('die) - (process-spawn - part-tracker - :init part-tracker-init - (-> *part-group-id-table* 769) - 0 - #f - #f - #f - gp-0 - :to *entity-pool* - ) + (process-spawn part-tracker :init part-tracker-init group-whack-shock 0 #f #f #f gp-0 :to *entity-pool*) (dotimes (v1-15 4) (set! (-> self slot-buffer v1-15) -1) ) @@ -2412,30 +2386,10 @@ ) ((#f) (sound-play "whack-miss") - (process-spawn - part-tracker - :init part-tracker-init - (-> *part-group-id-table* 767) - 0 - #f - #f - #f - gp-0 - :to *entity-pool* - ) + (process-spawn part-tracker :init part-tracker-init group-whack-miss 0 #f #f #f gp-0 :to *entity-pool*) ) (('gold) - (process-spawn - part-tracker - :init part-tracker-init - (-> *part-group-id-table* 768) - 0 - #f - #f - #f - gp-0 - :to *entity-pool* - ) + (process-spawn part-tracker :init part-tracker-init group-whack-hit 0 #f #f #f gp-0 :to *entity-pool*) (+! (-> self score) 50.0) ) (else @@ -2455,17 +2409,7 @@ ) (set-time! (-> self speech-time)) ) - (process-spawn - part-tracker - :init part-tracker-init - (-> *part-group-id-table* 768) - 0 - #f - #f - #f - gp-0 - :to *entity-pool* - ) + (process-spawn part-tracker :init part-tracker-init group-whack-hit 0 #f #f #f gp-0 :to *entity-pool*) (+! (-> self score) 10.0) (if (>= (-> self score) 300.0) (send-event (handle->process (-> self hud-goal)) 'hide-and-die) @@ -2666,8 +2610,8 @@ (dotimes (v1-20 4) (set! (-> self slot-buffer v1-20) -1) ) - (set! (-> self score-part 0) (create-launch-control (-> *part-group-id-table* 765) self)) - (set! (-> self score-part 1) (create-launch-control (-> *part-group-id-table* 766) self)) + (set! (-> self score-part 0) (create-launch-control group-whack-scoreboard-misses self)) + (set! (-> self score-part 1) (create-launch-control group-whack-scoreboard-points self)) (set! (-> *game-info* goal) 1500.0) (dotimes (v1-31 4) (set! (-> self speech-last v1-31) 0) diff --git a/goal_src/jak2/levels/mountain/mountain-obs.gc b/goal_src/jak2/levels/mountain/mountain-obs.gc index a6dd94f56f..7b7b2d6c31 100644 --- a/goal_src/jak2/levels/mountain/mountain-obs.gc +++ b/goal_src/jak2/levels/mountain/mountain-obs.gc @@ -418,12 +418,7 @@ (vf7 :class vf) ) (init-vf0-vector) - (let* ((s3-0 (-> arg0 root)) - (s4-0 (if (type? s3-0 collide-shape) - s3-0 - ) - ) - ) + (let ((s4-0 (as-type (-> arg0 root) collide-shape))) (when s4-0 (let ((s3-1 (new 'stack-no-clear 'vector)) (f30-0 -0.71) @@ -540,12 +535,7 @@ (vf7 :class vf) ) (init-vf0-vector) - (let* ((s3-0 (-> arg1 root)) - (s0-0 (if (type? s3-0 collide-shape) - s3-0 - ) - ) - ) + (let ((s0-0 (as-type (-> arg1 root) collide-shape))) (when s0-0 (let ((s5-1 ((method-of-type touching-prims-entry get-touched-prim) (the-as touching-prims-entry arg0) @@ -741,16 +731,8 @@ ) ((= message 'touch) (let* ((s3-0 proc) - (s2-0 proc) - (s4-1 (if (type? s2-0 process-focusable) - (the-as process-focusable s2-0) - ) - ) - (s2-1 (-> (the-as process-focusable s3-0) root)) - (s3-1 (if (type? s2-1 collide-shape) - s2-1 - ) - ) + (s4-1 (as-type proc process-focusable)) + (s3-1 (as-type (-> (the-as process-focusable s3-0) root) collide-shape)) ) (when s3-1 (let* ((s2-2 (the-as object (-> block param 0))) @@ -774,10 +756,7 @@ ) (when s0-0 (when (and (< 0.9 (-> s0-0 normal y)) (< (-> v1-30 vector 0 y) -0.9)) - (when (< (vector-dot - (vector-! (new 'stack-no-clear 'vector) (-> s3-1 trans) (the-as vector (-> s0-0 vertex))) - (-> s0-0 normal) - ) + (when (< (vector-dot (vector-! (new 'stack-no-clear 'vector) (-> s3-1 trans) (-> s0-0 vertex 0)) (-> s0-0 normal)) 409.6 ) (when s4-1 @@ -808,10 +787,7 @@ (when (!= (-> (the-as attack-info v1-56) id) (-> self incoming-attack-id)) (set! (-> self incoming-attack-id) (-> (the-as attack-info v1-56) id)) (let ((s3-2 proc) - (s4-2 (if (type? proc process-focusable) - (the-as process-focusable proc) - ) - ) + (s4-2 (as-type proc process-focusable)) ) (let ((s5-3 (-> (the-as process-focusable s3-2) root))) (if (type? s5-3 collide-shape) @@ -2258,41 +2234,7 @@ (set! sv-52 #t) (let ((f30-0 (vector-vector-distance sv-20 s5-0))) (when (< f30-0 204800.0) - (let ((s4-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when s4-0 - (let ((t9-8 (method-of-type part-tracker activate))) - (t9-8 - (the-as part-tracker s4-0) - *entity-pool* - (symbol->string (-> part-tracker symbol)) - (the-as pointer #x70004000) - ) - ) - (let ((t9-9 run-function-in-process) - (a0-16 s4-0) - (a1-7 part-tracker-init) - (a2-7 (-> *part-group-id-table* 352)) - (a3-2 0) - (t0-1 #f) - (t1-1 #f) - (t2-1 #f) - (t3-0 *launch-matrix*) - ) - (set! (-> t3-0 trans quad) (-> s5-0 quad)) - ((the-as (function object object object object object object object object none) t9-9) - a0-16 - a1-7 - a2-7 - a3-2 - t0-1 - t1-1 - t2-1 - t3-0 - ) - ) - (-> s4-0 ppointer) - ) - ) + (part-tracker-spawn :to *entity-pool* :group group-aval-rock-hit :mat-joint s5-0) (when (= (-> sv-16 data gp-0 w) 0.0) (sound-play-by-name (static-sound-name "mtn-boulder") @@ -3206,12 +3148,7 @@ "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." (logior! (-> this flags) (mtn-plat-flags mtpflags-1)) - (let* ((s5-0 *target*) - (a0-2 (if (type? s5-0 process-focusable) - s5-0 - ) - ) - ) + (let ((a0-2 (the-as target (as-type *target* process-focusable)))) (when a0-2 (let ((s4-0 (get-trans a0-2 0)) (s3-0 (-> this path)) diff --git a/goal_src/jak2/levels/mountain/mountain-scenes.gc b/goal_src/jak2/levels/mountain/mountain-scenes.gc index c56b4aebcc..e6f8111b0a 100644 --- a/goal_src/jak2/levels/mountain/mountain-scenes.gc +++ b/goal_src/jak2/levels/mountain/mountain-scenes.gc @@ -3019,7 +3019,7 @@ (if (task-complete? *game-info* (game-task mountain-lens)) (go (method-of-object this idle-no-beam)) ) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 353) this)) + (set! (-> this part) (create-launch-control group-mtn-lens-light-shaft this)) (go (method-of-object this idle)) (none) ) diff --git a/goal_src/jak2/levels/mountain/rhino.gc b/goal_src/jak2/levels/mountain/rhino.gc index 0b1178872f..db1fbc8853 100644 --- a/goal_src/jak2/levels/mountain/rhino.gc +++ b/goal_src/jak2/levels/mountain/rhino.gc @@ -321,13 +321,9 @@ (set! (-> *rhino-nav-enemy-info* fact-defaults) *fact-info-enemy-defaults*) (defmethod hit-stomach? ((this rhino) (arg0 process) (arg1 event-message-block)) - (let* ((gp-0 (-> arg1 param 0)) - (s5-0 arg0) - (s2-0 (if (type? s5-0 process-drawable) - s5-0 - ) - ) - ) + (let ((gp-0 (-> arg1 param 0)) + (s2-0 (the-as process (as-type arg0 process-drawable))) + ) (cond ((and (-> this can-hit?) gp-0 ((method-of-type touching-shapes-entry prims-touching?) (the-as touching-shapes-entry gp-0) @@ -408,15 +404,11 @@ (kill-prefer-falling this) ) (else - (let* ((s5-0 arg0) - (s2-0 (if (type? s5-0 process-drawable) - s5-0 - ) - ) - (s3-0 (new 'stack-no-clear 'vector)) - (s4-0 (new 'stack-no-clear 'vector)) - (s5-1 (new 'stack-no-clear 'vector)) - ) + (let ((s2-0 (the-as process (as-type arg0 process-drawable))) + (s3-0 (new 'stack-no-clear 'vector)) + (s4-0 (new 'stack-no-clear 'vector)) + (s5-1 (new 'stack-no-clear 'vector)) + ) (vector-z-quaternion! s3-0 (-> this root quat)) (vector-x-quaternion! s4-0 (-> this root quat)) (vector-! s5-1 (-> (the-as process-focusable s2-0) root trans) (-> this root trans)) @@ -471,7 +463,7 @@ (let ((s3-1 run-function-in-process) (s2-1 s4-1) (s1-0 part-tracker-init) - (s0-0 (-> *part-group-id-table* 351)) + (s0-0 group-rhino-slide-poof-grs) ) (set! sv-96 0) (set! sv-112 (the-as symbol #f)) @@ -506,7 +498,7 @@ (let ((s3-2 run-function-in-process) (s2-2 s4-2) (s1-1 part-tracker-init) - (s0-1 (-> *part-group-id-table* 350)) + (s0-1 group-rhino-slide-poof-pmt) ) (set! sv-192 0) (set! sv-208 (the-as symbol #f)) @@ -734,13 +726,9 @@ ;; WARN: Return type mismatch symbol vs object. (defmethod enemy-method-75 ((this rhino) (arg0 process) (arg1 event-message-block)) - (let* ((touch-entry (the-as touching-shapes-entry (-> arg1 param 0))) - (s3-0 arg0) - (v1-0 (if (type? s3-0 process-focusable) - s3-0 - ) - ) - ) + (let ((touch-entry (the-as touching-shapes-entry (-> arg1 param 0))) + (v1-0 (the-as object (as-type arg0 process-focusable))) + ) (when (and (the-as uint touch-entry) v1-0) (cond ((and (focus-test? this dangerous) ((method-of-type touching-shapes-entry prims-touching-action?) @@ -782,18 +770,14 @@ 'attack-or-shove 'attack ) - (let* ((s2-0 (if (-> this smush-target) - 'smush - (-> this enemy-info attack-mode) - ) - ) - (s1-0 arg0) - (a0-3 (if (type? s1-0 process-focusable) - s1-0 - ) - ) - (s1-1 (new 'stack-no-clear 'vector)) - ) + (let ((s2-0 (if (-> this smush-target) + 'smush + (-> this enemy-info attack-mode) + ) + ) + (a0-3 (the-as process (as-type arg0 process-focusable))) + (s1-1 (new 'stack-no-clear 'vector)) + ) (vector-! s1-1 (get-trans (the-as process-focusable a0-3) 0) (-> this root trans)) (set! (-> s1-1 y) 0.0) (vector-normalize! s1-1 1.0) diff --git a/goal_src/jak2/levels/nest/boss/metalkor-extras.gc b/goal_src/jak2/levels/nest/boss/metalkor-extras.gc index cce76b3461..7192813e06 100644 --- a/goal_src/jak2/levels/nest/boss/metalkor-extras.gc +++ b/goal_src/jak2/levels/nest/boss/metalkor-extras.gc @@ -300,41 +300,7 @@ ) (set! (-> gp-0 quad) (-> s4-0 trans quad)) (vector+! gp-0 gp-0 v0-0) - (let ((s4-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when s4-1 - (let ((t9-2 (method-of-type part-tracker activate))) - (t9-2 - (the-as part-tracker s4-1) - *entity-pool* - (symbol->string (-> part-tracker symbol)) - (the-as pointer #x70004000) - ) - ) - (let ((t9-3 run-function-in-process) - (a0-7 s4-1) - (a1-5 part-tracker-init) - (a2-4 (-> *part-group-id-table* 141)) - (a3-1 0) - (t0-0 #f) - (t1-0 #f) - (t2-0 #f) - (t3-0 *launch-matrix*) - ) - (set! (-> t3-0 trans quad) (-> gp-0 quad)) - ((the-as (function object object object object object object object object none) t9-3) - a0-7 - a1-5 - a2-4 - a3-1 - t0-0 - t1-0 - t2-0 - t3-0 - ) - ) - (-> s4-1 ppointer) - ) - ) + (part-tracker-spawn :to *entity-pool* :group group-metalhead-shot-hit :mat-joint gp-0) ) (let ((s4-2 (new 'stack-no-clear 'vector))) (set! (-> s4-2 quad) (-> this root trans quad)) @@ -388,7 +354,7 @@ ) ) (vector-normalize! (-> s2-0 vector 2) 1.0) - (vector-cross! (the-as vector (-> s2-0 vector)) (-> s2-0 vector 1) (-> s2-0 vector 2)) + (vector-cross! (-> s2-0 vector 0) (-> s2-0 vector 1) (-> s2-0 vector 2)) (matrix->quaternion gp-1 s2-0) ) (sound-play "nboss-shoot-hit") @@ -563,7 +529,7 @@ (set! (-> a1-1 y) 32768.0) (set! (-> a1-1 z) 32768.0) (set! (-> a1-1 w) 1.0) - (vector-! (the-as vector v1-1) a0-2 a1-1) + (vector-! (-> v1-1 min) a0-2 a1-1) ) (let ((v1-3 (-> gp-0 bbox max)) (a0-4 (-> self root trans)) @@ -645,7 +611,7 @@ ) ) ) - ((method-of-type cam-float-seeker update!) (the-as cam-float-seeker (-> self foot-locks s4-0)) 0.0) + ((method-of-type cam-float-seeker update!) (-> self foot-locks s4-0 lock) 0.0) (cond ((-> self foot-locks s4-0 initialized) (let ((s2-1 vector-lerp!) @@ -682,7 +648,7 @@ (set-time! (-> self state-time)) (dotimes (gp-0 6) (enable-set! (-> self joint-ik gp-0) #t) - ((method-of-type cam-float-seeker init) (the-as cam-float-seeker (-> self foot-locks gp-0)) 0.0 0.1 0.3 0.9) + ((method-of-type cam-float-seeker init) (-> self foot-locks gp-0 lock) 0.0 0.1 0.3 0.9) (set! (-> self foot-locks gp-0 initialized) #f) ) ) @@ -954,7 +920,7 @@ (set! s2-2 #f) ) (else - (vector-! arg0 (target-pos 0) (the-as vector (-> this chain-joints arg1))) + (vector-! arg0 (target-pos 0) (-> this chain-joints arg1 position)) (vector-normalize! arg0 12288.0) ) ) @@ -1270,11 +1236,7 @@ (a0-9 (-> self tail)) ) (dotimes (a1-1 (the-as int (-> a0-9 num-joints))) - (vector+! - (the-as vector (-> a0-9 chain-joints a1-1)) - (the-as vector (-> a0-9 chain-joints a1-1)) - (the-as vector v1-7) - ) + (vector+! (-> a0-9 chain-joints a1-1 position) (-> a0-9 chain-joints a1-1 position) (the-as vector v1-7)) ) ) #f @@ -1331,12 +1293,7 @@ (('touch) (let ((s4-0 (new 'stack-no-clear 'vector))) (set! (-> s4-0 quad) (-> self entity trans quad)) - (let* ((s3-0 proc) - (v1-36 (if (type? s3-0 process-drawable) - s3-0 - ) - ) - ) + (let ((v1-36 (the-as process (as-type proc process-drawable)))) (when v1-36 (let ((s3-2 (vector-! (new 'stack-no-clear 'vector) (-> (the-as process-drawable v1-36) root trans) s4-0)) (s4-2 @@ -1659,7 +1616,7 @@ (the-as skeleton-group (art-group-get-by-name *level* "skel-rift-ring-ingame" (the-as (pointer uint32) #f))) (the-as pair 0) ) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 1236) this)) + (set! (-> this part) (create-launch-control group-nestb-rift-ring this)) (set! (-> this draw light-index) (the-as uint 10)) (set! (-> this stutter) #f) (set! (-> this spin-sound) (new-sound-id)) @@ -1913,13 +1870,13 @@ (defmethod draw ((this hud-metalkor)) (set-hud-piece-position! (-> this sprites 1) (the int (+ 462.0 (* 130.0 (-> this offset)))) 350) - (set-as-offset-from! (the-as hud-sprite (-> this sprites)) (the-as vector4w (-> this sprites 1)) -32 0) - (set-as-offset-from! (-> this sprites 5) (the-as vector4w (-> this sprites 1)) -62 14) - (set-as-offset-from! (-> this sprites 6) (the-as vector4w (-> this sprites 1)) -32 14) + (set-as-offset-from! (-> this sprites 0) (-> this sprites 1 pos) -32 0) + (set-as-offset-from! (-> this sprites 5) (-> this sprites 1 pos) -62 14) + (set-as-offset-from! (-> this sprites 6) (-> this sprites 1 pos) -32 14) (let ((s5-0 (-> this values 0 current)) (f30-0 (* 0.01 (the float (-> this values 1 current)))) ) - (set-as-offset-from! (-> this sprites 4) (the-as vector4w (-> this sprites 1)) -92 15) + (set-as-offset-from! (-> this sprites 4) (-> this sprites 1 pos) -92 15) (cond ((= s5-0 1) (set! (-> this sprites 4 color x) 0) @@ -2153,7 +2110,7 @@ (let ((s5-0 run-function-in-process) (s4-0 gp-0) (s3-0 part-tracker-init) - (s2-0 (-> *part-group-id-table* 1238)) + (s2-0 group-metalkor-explode) (s1-0 0) (s0-0 #f) ) diff --git a/goal_src/jak2/levels/nest/boss/metalkor-setup.gc b/goal_src/jak2/levels/nest/boss/metalkor-setup.gc index cd3c8f8850..476ac0ba28 100644 --- a/goal_src/jak2/levels/nest/boss/metalkor-setup.gc +++ b/goal_src/jak2/levels/nest/boss/metalkor-setup.gc @@ -626,11 +626,11 @@ ;; WARN: Return type mismatch object vs none. (defmethod init-from-entity! ((this nestb-tail-bound) (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" + This commonly includes things such as: + - stack size + - collision information + - loading the skeleton group / bones + - sounds" (let ((s4-0 (new 'process 'collide-shape this (collide-list-enum hit-by-others)))) (let ((v1-2 (new 'process 'collide-shape-prim-mesh s4-0 (the-as uint 0) (the-as uint 0)))) (set! (-> v1-2 prim-core collide-as) (collide-spec special-obstacle)) @@ -736,7 +736,7 @@ This commonly includes things such as: ) (logclear! (-> self mask) (process-mask actor-pause)) (set! (-> self ring) arg2) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 1237) self)) + (set! (-> self part) (create-launch-control group-metalkor-explode-trailer self)) (go-virtual idle) (none) ) @@ -762,7 +762,7 @@ This commonly includes things such as: ) ) (logclear! (-> self mask) (process-mask actor-pause)) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 1233) self)) + (set! (-> self part) (create-launch-control group-nestb-force-field self)) (go-virtual idle) (none) ) @@ -1462,11 +1462,11 @@ This commonly includes things such as: (defmethod init-from-entity! ((this metalkor) (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" + This commonly includes things such as: + - stack size + - collision information + - loading the skeleton group / bones + - sounds" (local-vars (sv-16 res-tag)) (let ((s4-0 (new 'process 'collide-shape-moving this (collide-list-enum usually-hit-by-player)))) (set! (-> s4-0 dynam) (copy *standard-dynamics* 'process)) @@ -1550,7 +1550,7 @@ This commonly includes things such as: ) ) (set! (-> this current-nav-poly) #f) - (set! (-> this shot-anticipate) (create-launch-control (-> *part-group-id-table* 1232) this)) + (set! (-> this shot-anticipate) (create-launch-control group-metalkor-shot-anticipate this)) (set! (-> this last-flitter-launched) 0) (set! (-> this last-wasp-launched) 0) (set! (-> this live-flitters) 0) diff --git a/goal_src/jak2/levels/nest/boss/nestb-scenes.gc b/goal_src/jak2/levels/nest/boss/nestb-scenes.gc index bc92a2227b..f164c091e0 100644 --- a/goal_src/jak2/levels/nest/boss/nestb-scenes.gc +++ b/goal_src/jak2/levels/nest/boss/nestb-scenes.gc @@ -441,41 +441,7 @@ ) (set! (-> gp-0 quad) (-> arg1 quad)) (vector+! gp-0 gp-0 v0-0) - (let ((s4-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when s4-0 - (let ((t9-2 (method-of-type part-tracker activate))) - (t9-2 - (the-as part-tracker s4-0) - *entity-pool* - (symbol->string (-> part-tracker symbol)) - (the-as pointer #x70004000) - ) - ) - (let ((t9-3 run-function-in-process) - (a0-7 s4-0) - (a1-6 part-tracker-init) - (a2-5 (-> *part-group-id-table* 141)) - (a3-1 0) - (t0-0 #f) - (t1-0 #f) - (t2-0 #f) - (t3-0 *launch-matrix*) - ) - (set! (-> t3-0 trans quad) (-> gp-0 quad)) - ((the-as (function object object object object object object object object none) t9-3) - a0-7 - a1-6 - a2-5 - a3-1 - t0-0 - t1-0 - t2-0 - t3-0 - ) - ) - (-> s4-0 ppointer) - ) - ) + (part-tracker-spawn :to *entity-pool* :group group-metalhead-shot-hit :mat-joint gp-0) ) (let ((s4-1 (new 'stack-no-clear 'vector))) (set! (-> s4-1 quad) (-> arg1 quad)) @@ -529,7 +495,7 @@ ) ) (vector-normalize! (-> s2-0 vector 2) 1.0) - (vector-cross! (the-as vector (-> s2-0 vector)) (-> s2-0 vector 1) (-> s2-0 vector 2)) + (vector-cross! (-> s2-0 vector 0) (-> s2-0 vector 1) (-> s2-0 vector 2)) (matrix->quaternion gp-1 s2-0) ) (sound-play "nboss-shoot-hit") diff --git a/goal_src/jak2/levels/nest/mantis.gc b/goal_src/jak2/levels/nest/mantis.gc index a7001e8133..319d093ad9 100644 --- a/goal_src/jak2/levels/nest/mantis.gc +++ b/goal_src/jak2/levels/nest/mantis.gc @@ -467,12 +467,7 @@ (set! (-> self base-height) (-> self root trans y)) ) ) - (let* ((gp-2 *target*) - (a0-5 (if (type? gp-2 process-focusable) - gp-2 - ) - ) - ) + (let ((a0-5 (the-as target (as-type *target* process-focusable)))) (when a0-5 (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)) @@ -487,41 +482,7 @@ (let ((gp-0 (new 'stack-no-clear 'vector))) (set! (-> gp-0 quad) (-> self root trans quad)) (+! (-> gp-0 y) -18841.6) - (let ((s5-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-0 - (let ((t9-1 (method-of-type part-tracker activate))) - (t9-1 - (the-as part-tracker s5-0) - *entity-pool* - (symbol->string (-> part-tracker symbol)) - (the-as pointer #x70004000) - ) - ) - (let ((t9-2 run-function-in-process) - (a0-2 s5-0) - (a1-2 part-tracker-init) - (a2-4 (-> *part-group-id-table* 1222)) - (a3-1 0) - (t0-0 #f) - (t1-0 #f) - (t2-0 #f) - (t3-0 *launch-matrix*) - ) - (set! (-> t3-0 trans quad) (-> gp-0 quad)) - ((the-as (function object object object object object object object object none) t9-2) - a0-2 - a1-2 - a2-4 - a3-1 - t0-0 - t1-0 - t2-0 - t3-0 - ) - ) - (-> s5-0 ppointer) - ) - ) + (part-tracker-spawn :to *entity-pool* :group group-mantis-birth-nest :mat-joint gp-0) ) (suspend-for (seconds 0.6) ) @@ -1350,8 +1311,8 @@ (vector-reset! s5-1) (dotimes (s4-1 (-> *collide-cache* num-tris)) (let* ((v1-16 (-> *collide-cache* tris s4-1)) - (s2-1 (vector-! (new 'stack-no-clear 'vector) (-> v1-16 vertex 1) (the-as vector (-> v1-16 vertex)))) - (s1-1 (vector-! (new 'stack-no-clear 'vector) (-> v1-16 vertex 2) (the-as vector (-> v1-16 vertex)))) + (s2-1 (vector-! (new 'stack-no-clear 'vector) (-> v1-16 vertex 1) (-> v1-16 vertex 0))) + (s1-1 (vector-! (new 'stack-no-clear 'vector) (-> v1-16 vertex 2) (-> v1-16 vertex 0))) (s3-0 (new 'stack-no-clear 'vector)) ) (vector-normalize! s2-1 1.0) diff --git a/goal_src/jak2/levels/nest/nest-scenes.gc b/goal_src/jak2/levels/nest/nest-scenes.gc index 70446c6c00..d00451a890 100644 --- a/goal_src/jak2/levels/nest/nest-scenes.gc +++ b/goal_src/jak2/levels/nest/nest-scenes.gc @@ -182,7 +182,7 @@ (let ((a2-1 (vector-normalize-copy! (new 'stack-no-clear 'vector) arg1 1.0))) (quaternion-from-two-vectors! (-> self root quat) (new 'static 'vector :z 1.0) a2-1) ) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 1223) self)) + (set! (-> self part) (create-launch-control group-canyon-lightning-thingy-charge self)) (dotimes (gp-1 5) (set! (-> self lightning gp-1) (new 'process diff --git a/goal_src/jak2/levels/outro/credits.gc b/goal_src/jak2/levels/outro/credits.gc index 93c87c3253..23019e716f 100644 --- a/goal_src/jak2/levels/outro/credits.gc +++ b/goal_src/jak2/levels/outro/credits.gc @@ -16,15 +16,9 @@ (new 'stack 'font-context *font-default-matrix* 6 0 0.0 (font-color default) (font-flags shadow kerning)) ) ) - (let ((v1-2 s4-0)) - (set! (-> v1-2 width) (the float 500)) - ) - (let ((v1-3 s4-0)) - (set! (-> v1-3 height) (the float 150)) - ) - (let ((v1-4 s4-0)) - (set! (-> v1-4 scale) 0.8) - ) + (set-width! s4-0 500) + (set-height! s4-0 150) + (set-scale! s4-0 0.8) (set! (-> s4-0 flags) (font-flags shadow kerning middle large)) (while (or s3-0 (and (< f30-0 (- f28-0)) (< (the-as uint s5-0) (the-as uint 4272)))) (+! f30-0 f28-0) @@ -638,44 +632,10 @@ (let ((s3-0 (new 'stack-no-clear 'vector))) (sp-kill-particle arg0 arg1) (set-vector! s3-0 (-> arg2 launchrot x) (-> arg2 launchrot y) (-> arg2 launchrot z) 1.0) - (let ((s2-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when s2-0 - (let ((t9-2 (method-of-type part-tracker activate))) - (t9-2 - (the-as part-tracker s2-0) - *entity-pool* - (symbol->string (-> part-tracker symbol)) - (the-as pointer #x70004000) - ) - ) - (let ((t9-3 run-function-in-process) - (a0-5 s2-0) - (a1-4 part-tracker-init) - (a2-5 (-> *part-group-id-table* 1275)) - (a3-1 0) - (t0-0 #f) - (t1-0 #f) - (t2-0 #f) - (t3-0 *launch-matrix*) - ) - (set! (-> t3-0 trans quad) (-> s3-0 quad)) - ((the-as (function object object object object object object object object none) t9-3) - a0-5 - a1-4 - a2-5 - a3-1 - t0-0 - t1-0 - t2-0 - t3-0 - ) - ) - (-> s2-0 ppointer) - ) - ) + (part-tracker-spawn :to *entity-pool* :group group-ctyport-firework-pop :mat-joint s3-0) ) ) - (sparticle-motion-blur arg0 arg1 (the-as vector arg2)) + (sparticle-motion-blur arg0 arg1 (-> arg2 launchrot)) (none) ) @@ -684,44 +644,10 @@ (let ((s3-0 (new 'stack-no-clear 'vector))) (sp-kill-particle arg0 arg1) (set-vector! s3-0 (-> arg2 launchrot x) (-> arg2 launchrot y) (-> arg2 launchrot z) 1.0) - (let ((s2-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when s2-0 - (let ((t9-2 (method-of-type part-tracker activate))) - (t9-2 - (the-as part-tracker s2-0) - *entity-pool* - (symbol->string (-> part-tracker symbol)) - (the-as pointer #x70004000) - ) - ) - (let ((t9-3 run-function-in-process) - (a0-5 s2-0) - (a1-4 part-tracker-init) - (a2-5 (-> *part-group-id-table* 1274)) - (a3-1 0) - (t0-0 #f) - (t1-0 #f) - (t2-0 #f) - (t3-0 *launch-matrix*) - ) - (set! (-> t3-0 trans quad) (-> s3-0 quad)) - ((the-as (function object object object object object object object object none) t9-3) - a0-5 - a1-4 - a2-5 - a3-1 - t0-0 - t1-0 - t2-0 - t3-0 - ) - ) - (-> s2-0 ppointer) - ) - ) + (part-tracker-spawn :to *entity-pool* :group group-ctyport-firework-red-pop :mat-joint s3-0) ) ) - (sparticle-motion-blur arg0 arg1 (the-as vector arg2)) + (sparticle-motion-blur arg0 arg1 (-> arg2 launchrot)) (none) ) @@ -730,44 +656,10 @@ (let ((s3-0 (new 'stack-no-clear 'vector))) (sp-kill-particle arg0 arg1) (set-vector! s3-0 (-> arg2 launchrot x) (-> arg2 launchrot y) (-> arg2 launchrot z) 1.0) - (let ((s2-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when s2-0 - (let ((t9-2 (method-of-type part-tracker activate))) - (t9-2 - (the-as part-tracker s2-0) - *entity-pool* - (symbol->string (-> part-tracker symbol)) - (the-as pointer #x70004000) - ) - ) - (let ((t9-3 run-function-in-process) - (a0-5 s2-0) - (a1-4 part-tracker-init) - (a2-5 (-> *part-group-id-table* 1273)) - (a3-1 0) - (t0-0 #f) - (t1-0 #f) - (t2-0 #f) - (t3-0 *launch-matrix*) - ) - (set! (-> t3-0 trans quad) (-> s3-0 quad)) - ((the-as (function object object object object object object object object none) t9-3) - a0-5 - a1-4 - a2-5 - a3-1 - t0-0 - t1-0 - t2-0 - t3-0 - ) - ) - (-> s2-0 ppointer) - ) - ) + (part-tracker-spawn :to *entity-pool* :group group-ctyport-firework-green-pop :mat-joint s3-0) ) ) - (sparticle-motion-blur arg0 arg1 (the-as vector arg2)) + (sparticle-motion-blur arg0 arg1 (-> arg2 launchrot)) (none) ) diff --git a/goal_src/jak2/levels/outro/outro-scenes.gc b/goal_src/jak2/levels/outro/outro-scenes.gc index 9f5cbf512f..b330b8101e 100644 --- a/goal_src/jak2/levels/outro/outro-scenes.gc +++ b/goal_src/jak2/levels/outro/outro-scenes.gc @@ -712,7 +712,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 1276) + group-outro-precursor-entity 5140 #f #f @@ -1495,35 +1495,11 @@ (apply ,(lambda () (with-pp - (let ((gp-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-0 - (let ((t9-1 (method-of-type part-tracker activate))) - (t9-1 (the-as part-tracker gp-0) pp (symbol->string (-> part-tracker symbol)) (the-as pointer #x70004000)) - ) - (let ((t9-2 run-function-in-process) - (a0-2 gp-0) - (a1-2 part-tracker-init) - (a2-4 (-> *part-group-id-table* 1272)) - (a3-1 #x2d96) - (t0-0 #f) - (t1-0 #f) - (t2-0 #f) - (t3-0 *launch-matrix*) - ) - (set! (-> t3-0 trans quad) (-> (new 'static 'vector :x 180224.0 :y 81920.0 :z 5660672.0 :w 1.0) quad)) - ((the-as (function object object object object object object object object none) t9-2) - a0-2 - a1-2 - a2-4 - a3-1 - t0-0 - t1-0 - t2-0 - t3-0 - ) - ) - (-> gp-0 ppointer) - ) + (part-tracker-spawn + :to pp + :group group-ctyport-fireworks + :duration #x2d96 + :mat-joint (new 'static 'vector :x 180224.0 :y 81920.0 :z 5660672.0 :w 1.0) ) ) ) @@ -1565,35 +1541,11 @@ ,(lambda () (with-pp (set-setting! 'process-mask 'set 0.0 (process-mask enemy platform projectile)) - (let ((gp-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-0 - (let ((t9-2 (method-of-type part-tracker activate))) - (t9-2 (the-as part-tracker gp-0) pp (symbol->string (-> part-tracker symbol)) (the-as pointer #x70004000)) - ) - (let ((t9-3 run-function-in-process) - (a0-3 gp-0) - (a1-3 part-tracker-init) - (a2-5 (-> *part-group-id-table* 1272)) - (a3-2 #x2dc6c0) - (t0-1 #f) - (t1-1 #f) - (t2-0 #f) - (t3-0 *launch-matrix*) - ) - (set! (-> t3-0 trans quad) (-> (new 'static 'vector :x 860160.0 :y 122880.0 :z 6062080.0 :w 1.0) quad)) - ((the-as (function object object object object object object object object none) t9-3) - a0-3 - a1-3 - a2-5 - a3-2 - t0-1 - t1-1 - t2-0 - t3-0 - ) - ) - (-> gp-0 ppointer) - ) + (part-tracker-spawn + :to pp + :group group-ctyport-fireworks + :duration #x2dc6c0 + :mat-joint (new 'static 'vector :x 860160.0 :y 122880.0 :z 6062080.0 :w 1.0) ) ) ) diff --git a/goal_src/jak2/levels/palace/boss/squid-extras.gc b/goal_src/jak2/levels/palace/boss/squid-extras.gc index 8156ed9929..66ebb67987 100644 --- a/goal_src/jak2/levels/palace/boss/squid-extras.gc +++ b/goal_src/jak2/levels/palace/boss/squid-extras.gc @@ -111,7 +111,7 @@ (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 group) group-squid-grenade-explode) (set! (-> gp-1 collide-with) (collide-spec backgnd jak crate civilian enemy obstacle vehicle-sphere hit-by-others-list player-list pusher) ) @@ -148,7 +148,7 @@ (if (>= f28-0 1.0) (go (method-of-object arg0 impact)) ) - (vector-! s5-0 (-> arg0 traj-dest) (the-as vector (-> arg0 traj))) + (vector-! s5-0 (-> arg0 traj-dest) (-> arg0 traj initial-position)) (vector-normalize! s5-0 (* (lerp-scale 1.0 0.0 f28-0 (* 1.5 f30-0) 1.0) (lerp-scale 0.0 20480.0 f28-0 0.0 0.06)) @@ -160,17 +160,14 @@ ) (let ((s3-1 (new 'stack-no-clear 'matrix))) (vector-normalize! (compute-transv-at-time (-> arg0 traj) f28-1 (-> s3-1 vector 2)) 1.0) - (vector-normalize! - (vector-cross! (the-as vector (-> s3-1 vector)) (new 'static 'vector :y 1.0) (-> s3-1 vector 2)) - 1.0 - ) - (vector-cross! (-> s3-1 vector 1) (-> s3-1 vector 2) (the-as vector (-> s3-1 vector))) + (vector-normalize! (vector-cross! (-> s3-1 vector 0) (new 'static 'vector :y 1.0) (-> s3-1 vector 2)) 1.0) + (vector-cross! (-> s3-1 vector 1) (-> s3-1 vector 2) (-> s3-1 vector 0)) (when (>= f30-0 f28-1) (let ((s4-3 (new 'stack-no-clear 'vector))) (let ((f26-1 (/ 4.0 f30-0))) (if (< 1.5 (-> arg0 charge-level)) - (vector-float*! s4-3 (the-as vector (-> s3-1 vector)) (* 8192.0 (+ -1.0 (cos (* 65536.0 f28-1 f26-1))))) - (vector-float*! s4-3 (the-as vector (-> s3-1 vector)) (* 8192.0 (- 1.0 (cos (* 65536.0 f28-1 f26-1))))) + (vector-float*! s4-3 (-> s3-1 vector 0) (* 8192.0 (+ -1.0 (cos (* 65536.0 f28-1 f26-1))))) + (vector-float*! s4-3 (-> s3-1 vector 0) (* 8192.0 (- 1.0 (cos (* 65536.0 f28-1 f26-1))))) ) (vector+float*! s4-3 s4-3 (-> s3-1 vector 1) (* -8192.0 (sin (* 65536.0 f28-1 f26-1)))) ) @@ -288,7 +285,7 @@ (defmethod init-proj-settings! ((this squid-grenade)) "Init relevant settings for the [[projectile]] such as gravity, speed, timeout, etc" - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 1120) this)) + (set! (-> this part) (create-launch-control group-squid-grenade-trail this)) (set! (-> this attack-mode) 'squid-grenade) (set! (-> this max-speed) 655360.0) (set! (-> this move) squid-grenade-move) @@ -402,7 +399,7 @@ (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* 1123)) + (set! (-> gp-1 group) group-squid-whirlwind-explode) (set! (-> gp-1 collide-with) (collide-spec backgnd jak crate civilian enemy obstacle vehicle-sphere hit-by-others-list player-list pusher) ) @@ -458,15 +455,15 @@ (defmethod draw ((this hud-squid)) (set-hud-piece-position! (-> this sprites 1) (the int (+ 462.0 (* 130.0 (-> this offset)))) 350) - (set-as-offset-from! (the-as hud-sprite (-> this sprites)) (the-as vector4w (-> this sprites 1)) -32 0) - (set-as-offset-from! (-> this sprites 2) (the-as vector4w (-> this sprites 1)) -96 0) - (set-as-offset-from! (-> this sprites 5) (the-as vector4w (-> this sprites 1)) -62 14) - (set-as-offset-from! (-> this sprites 6) (the-as vector4w (-> this sprites 1)) -32 14) + (set-as-offset-from! (-> this sprites 0) (-> this sprites 1 pos) -32 0) + (set-as-offset-from! (-> this sprites 2) (-> this sprites 1 pos) -96 0) + (set-as-offset-from! (-> this sprites 5) (-> this sprites 1 pos) -62 14) + (set-as-offset-from! (-> this sprites 6) (-> this sprites 1 pos) -32 14) (let ((s5-0 (-> this values 0 current)) (f28-0 (* 0.01 (the float (-> this values 1 current)))) (f30-0 (* 0.01 (the float (-> this values 2 current)))) ) - (set-as-offset-from! (-> this sprites 3) (the-as vector4w (-> this sprites 1)) -92 15) + (set-as-offset-from! (-> this sprites 3) (-> this sprites 1 pos) -92 15) (cond ((zero? s5-0) (set! (-> this sprites 3 color x) 0) @@ -485,7 +482,7 @@ ) ) (set! (-> this sprites 3 scale-x) (* -7.25 f28-0)) - (set-as-offset-from! (-> this sprites 4) (the-as vector4w (-> this sprites 1)) -84 4) + (set-as-offset-from! (-> this sprites 4) (-> this sprites 1 pos) -84 4) (cond ((< f30-0 0.5) (set! (-> this sprites 4 color x) 255) diff --git a/goal_src/jak2/levels/palace/boss/squid-setup.gc b/goal_src/jak2/levels/palace/boss/squid-setup.gc index 7159a24697..26ffa2b94d 100644 --- a/goal_src/jak2/levels/palace/boss/squid-setup.gc +++ b/goal_src/jak2/levels/palace/boss/squid-setup.gc @@ -400,7 +400,7 @@ (set! (-> self current-nav-poly) (cloest-point-on-mesh (-> self nav) (-> self root trans) (-> self root trans) (the-as nav-poly #f)) ) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 1122) self)) + (set! (-> self part) (create-launch-control group-squid-whirlwind-fire self)) (set! (-> self whirl-sound) (new-sound-id)) (set! (-> self whirl-sound-playing) #f) (go-virtual idle) @@ -995,8 +995,8 @@ (when (< s0-0 11) (vector-! (-> s5-1 vector 1) sv-1904 s4-1) (vector-normalize! (-> s5-1 vector 1) 1.0) - (vector-cross! (the-as vector (-> s5-1 vector)) (-> s5-1 vector 1) s3-1) - (vector-normalize! (the-as vector (-> s5-1 vector)) 1.0) + (vector-cross! (-> s5-1 vector 0) (-> s5-1 vector 1) s3-1) + (vector-normalize! (-> s5-1 vector 0) 1.0) (set! sv-1872 (new 'stack-no-clear 'vector)) (let ((v1-182 (-> sv-1456 old-x)) (a0-93 (-> s5-1 vector)) @@ -1010,9 +1010,9 @@ (vector-flatten! sv-1872 (-> sv-1456 old-x) (-> s5-1 vector 1)) (vector-normalize! sv-1872 1.0) (cond - ((< (vector-dot (the-as vector (-> s5-1 vector)) sv-1872) (cos 3640.889)) - (vector-cross! sv-1872 sv-1872 (the-as vector (-> s5-1 vector))) - (vector-cross! sv-1872 (the-as vector (-> s5-1 vector)) sv-1872) + ((< (vector-dot (-> s5-1 vector 0) sv-1872) (cos 3640.889)) + (vector-cross! sv-1872 sv-1872 (-> s5-1 vector 0)) + (vector-cross! sv-1872 (-> s5-1 vector 0) sv-1872) (vector-normalize! sv-1872 1.0) (set! sv-1840 (-> s5-1 vector)) (set! sv-1824 (-> s5-1 vector)) @@ -1045,7 +1045,7 @@ (set! (-> sv-1456 old-x quad) (-> s5-1 vector 0 quad)) ) ) - (vector-cross! (-> s5-1 vector 2) (the-as vector (-> s5-1 vector)) (-> s5-1 vector 1)) + (vector-cross! (-> s5-1 vector 2) (-> s5-1 vector 0) (-> s5-1 vector 1)) (matrix->quaternion (-> sv-1456 joint-mod quat) s5-1) (set! (-> s2-0 quad) (-> s5-1 vector 1 quad)) (set! (-> s3-1 quad) (-> s5-1 vector 2 quad)) @@ -1199,36 +1199,7 @@ ) ) (when arg2 - (let ((s4-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when s4-1 - (let ((t9-2 (method-of-type part-tracker activate))) - (t9-2 (the-as part-tracker s4-1) self (symbol->string (-> part-tracker symbol)) (the-as pointer #x70004000)) - ) - (let ((t9-3 run-function-in-process) - (a0-4 s4-1) - (a1-4 part-tracker-init) - (a2-6 (-> *part-group-id-table* 1121)) - (a3-2 0) - (t0-0 #f) - (t1-0 #f) - (t2-0 #f) - (t3-0 *launch-matrix*) - ) - (set! (-> t3-0 trans quad) (-> gp-0 quad)) - ((the-as (function object object object object object object object object none) t9-3) - a0-4 - a1-4 - a2-6 - a3-2 - t0-0 - t1-0 - t2-0 - t3-0 - ) - ) - (-> s4-1 ppointer) - ) - ) + (part-tracker-spawn :to self :group group-squid-grenade-explode :mat-joint gp-0) (sound-play "hit-squid") ) (if (logtest? (attack-mask attacker-velocity) (-> arg1 mask)) @@ -1290,7 +1261,7 @@ (let ((s5-0 run-function-in-process) (s4-0 gp-0) (s3-0 part-tracker-init) - (s2-0 (-> *part-group-id-table* 1121)) + (s2-0 group-squid-grenade-explode) (s1-0 0) (s0-0 #f) ) @@ -1326,7 +1297,7 @@ (let ((s5-1 run-function-in-process) (s4-1 gp-1) (s3-1 part-tracker-init) - (s2-1 (-> *part-group-id-table* 1121)) + (s2-1 group-squid-grenade-explode) (s1-1 0) (s0-1 #f) ) @@ -1477,11 +1448,7 @@ (('touched) (-> arg3 param 0) (when #t - (let ((a0-66 (if (type? arg0 process-focusable) - arg0 - ) - ) - ) + (let ((a0-66 (the-as process (as-type arg0 process-focusable)))) (when a0-66 (if (send-event a0-66 @@ -1785,7 +1752,7 @@ ) (set! (-> this blink-time) 0) (setup-part-engine this #t) - (set! (-> this thruster-part) (create-launch-control (-> *part-group-id-table* 1118) this)) + (set! (-> this thruster-part) (create-launch-control group-squid-thruster this)) (dotimes (v1-110 10) (set! (-> this grenade v1-110 grenade) (the-as handle #f)) (set! (-> this grenade v1-110 marker) (the-as handle #f)) @@ -1824,7 +1791,7 @@ ) (set! (-> this hud) (the-as handle #f)) (setup-masks (-> this draw) 0 5440) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 1124) this)) + (set! (-> this part) (create-launch-control group-squid-damage this)) (set! (-> this desired-rotate-to-vector-angle) 0.0) (set! (-> this allowed-rotate-to-vector-angle) 0.0) (set! (-> this rush-sound) (new-sound-id)) @@ -2379,7 +2346,7 @@ ) ) (update! (-> this hit-reaction) (the-as vector #f)) - (vector+float*! (-> this root trans) (-> this root trans) (the-as vector (-> this hit-reaction)) 4096.0) + (vector+float*! (-> this root trans) (-> this root trans) (-> this hit-reaction value) 4096.0) (update! (-> this tentacle-base-rotation-speed) 0.0) (let ((f0-14 (+ (-> this tentacle-base-rotation) (* 910.2222 (-> this tentacle-base-rotation-speed value))))) (set! (-> this tentacle-base-rotation) (- f0-14 (* (the float (the int (/ f0-14 65536.0))) 65536.0))) @@ -2863,41 +2830,7 @@ (draw-beam (-> *part-id-table* 4857) (-> this tail-pos) a2-1 #f #t) ) (vector+! gp-0 gp-0 s4-0) - (let ((s5-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-1 - (let ((t9-3 (method-of-type part-tracker activate))) - (t9-3 - (the-as part-tracker s5-1) - *entity-pool* - (symbol->string (-> part-tracker symbol)) - (the-as pointer #x70004000) - ) - ) - (let ((t9-4 run-function-in-process) - (a0-12 s5-1) - (a1-5 part-tracker-init) - (a2-6 (-> *part-group-id-table* 1125)) - (a3-2 0) - (t0-1 #f) - (t1-0 #f) - (t2-0 #f) - (t3-0 *launch-matrix*) - ) - (set! (-> t3-0 trans quad) (-> gp-0 quad)) - ((the-as (function object object object object object object object object none) t9-4) - a0-12 - a1-5 - a2-6 - a3-2 - t0-1 - t1-0 - t2-0 - t3-0 - ) - ) - (-> s5-1 ppointer) - ) - ) + (part-tracker-spawn :to *entity-pool* :group group-squid-shot-hit :mat-joint gp-0) ) 0 (none) diff --git a/goal_src/jak2/levels/palace/boss/squid-states.gc b/goal_src/jak2/levels/palace/boss/squid-states.gc index d59c05efd6..50848822d9 100644 --- a/goal_src/jak2/levels/palace/boss/squid-states.gc +++ b/goal_src/jak2/levels/palace/boss/squid-states.gc @@ -544,7 +544,7 @@ (quaternion-rotate-y! (-> self quat) (-> self quat) 5461.3335) (vector-lerp! (-> self trans) - (the-as vector (-> self traj)) + (-> self traj initial-position) (-> self traj-dest) (parameter-ease-sqr-clamp (* 0.0011111111 (the float (- (current-time) (-> self state-time))))) ) @@ -566,7 +566,7 @@ (let ((s5-3 run-function-in-process) (s4-1 gp-4) (s3-1 part-tracker-init) - (s2-0 (-> *part-group-id-table* 1123)) + (s2-0 group-squid-whirlwind-explode) (s1-0 0) (s0-0 #f) ) @@ -602,7 +602,7 @@ (let ((s5-4 run-function-in-process) (s4-2 gp-5) (s3-2 part-tracker-init) - (s2-1 (-> *part-group-id-table* 1123)) + (s2-1 group-squid-whirlwind-explode) (s1-1 0) (s0-1 #f) ) @@ -637,7 +637,7 @@ (let ((s5-5 run-function-in-process) (s4-3 gp-6) (s3-3 part-tracker-init) - (s2-2 (-> *part-group-id-table* 1123)) + (s2-2 group-squid-whirlwind-explode) (s1-2 0) (s0-2 #f) ) @@ -1147,7 +1147,7 @@ (let ((t9-9 run-function-in-process) (a0-17 s5-1) (a1-8 part-tracker-init) - (a2-7 (-> *part-group-id-table* 1119)) + (a2-7 group-squid-marker) (a3-3 0) (t0-2 #f) (t1-2 #f) @@ -1234,7 +1234,7 @@ (ja :group! squid-hatch-fore-launch-ja :num! min) (setup-grenade 0) (setup-grenade 5) - (spawn-grenade self 51 (the-as squid-grenade-holder (-> self grenade)) 2.0) + (spawn-grenade self 51 (-> self grenade 0) 2.0) (spawn-grenade self 56 (-> self grenade 5) 1.0) (setup-masks (-> self draw) 0 2) (set! (-> self next-gun) 1) @@ -1291,7 +1291,7 @@ (ja :group! squid-hatch-aft-launch-ja :num! min) (setup-grenade 0) (setup-grenade 5) - (spawn-grenade self 53 (the-as squid-grenade-holder (-> self grenade)) 2.0) + (spawn-grenade self 53 (-> self grenade 0) 2.0) (spawn-grenade self 58 (-> self grenade 5) 1.0) (setup-masks (-> self draw) 0 8) (set! (-> self next-gun) 1) diff --git a/goal_src/jak2/levels/palace/cable/palcab-obs.gc b/goal_src/jak2/levels/palace/cable/palcab-obs.gc index 581d1f0aba..c40ce6c1b3 100644 --- a/goal_src/jak2/levels/palace/cable/palcab-obs.gc +++ b/goal_src/jak2/levels/palace/cable/palcab-obs.gc @@ -50,12 +50,7 @@ :event (behavior ((proc process) (argc int) (message symbol) (block event-message-block)) (case message (('touch) - (let* ((s4-0 proc) - (gp-0 (if (type? s4-0 process-focusable) - s4-0 - ) - ) - ) + (let ((gp-0 (the-as process (as-type proc process-focusable)))) (when (and gp-0 ((method-of-type touching-shapes-entry prims-touching?) (the-as touching-shapes-entry (-> block param 0)) (-> self root) @@ -572,41 +567,7 @@ (set! (-> *part-id-table* 606 init-specs 10 initial-valuef) f28-0) ) (vector+! gp-0 gp-0 s5-0) - (let ((s5-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-1 - (let ((t9-3 (method-of-type part-tracker activate))) - (t9-3 - (the-as part-tracker s5-1) - *entity-pool* - (symbol->string (-> part-tracker symbol)) - (the-as pointer #x70004000) - ) - ) - (let ((t9-4 run-function-in-process) - (a0-12 s5-1) - (a1-5 part-tracker-init) - (a2-6 (-> *part-group-id-table* 137)) - (a3-2 0) - (t0-1 #f) - (t1-0 #f) - (t2-0 #f) - (t3-0 *launch-matrix*) - ) - (set! (-> t3-0 trans quad) (-> gp-0 quad)) - ((the-as (function object object object object object object object object none) t9-4) - a0-12 - a1-5 - a2-6 - a3-2 - t0-1 - t1-0 - t2-0 - t3-0 - ) - ) - (-> s5-1 ppointer) - ) - ) + (part-tracker-spawn :to *entity-pool* :group group-guard-shot-hit :mat-joint gp-0) ) 0 (none) @@ -761,7 +722,7 @@ (when (time-elapsed? (-> self fire-timer) (seconds 0.05)) (let ((gp-0 (new 'stack-no-clear 'matrix))) (let ((s5-0 (-> self node-list data (+ (* (-> self gun-index) 2) 4)))) - (vector<-cspace! (the-as vector (-> gp-0 vector)) s5-0) + (vector<-cspace! (-> gp-0 vector 0) s5-0) (vector-normalize-copy! (-> gp-0 vector 1) (-> s5-0 bone transform vector 2) 1.0) ) (vector-rotate-x! (-> gp-0 vector 1) (-> gp-0 vector 1) -455.1111) diff --git a/goal_src/jak2/levels/palace/pal-obs.gc b/goal_src/jak2/levels/palace/pal-obs.gc index dffb30a8ea..f0b173414d 100644 --- a/goal_src/jak2/levels/palace/pal-obs.gc +++ b/goal_src/jak2/levels/palace/pal-obs.gc @@ -87,11 +87,11 @@ ;; WARN: Return type mismatch object vs none. (defmethod init-from-entity! ((this pal-falling-plat) (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" + This commonly includes things such as: + - stack size + - collision information + - loading the skeleton group / bones + - sounds" (let ((s4-0 (new 'process 'collide-shape-moving this (collide-list-enum usually-hit-by-player)))) (set! (-> s4-0 dynam) (copy *standard-dynamics* 'process)) (set! (-> s4-0 reaction) cshape-reaction-default) @@ -423,41 +423,7 @@ This commonly includes things such as: (set! (-> self speed-y) 0.0) (sound-play "grind-ring-fall") (set! (-> self hit-sound-played?) #f) - (let ((gp-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-1 - (let ((t9-3 (method-of-type part-tracker activate))) - (t9-3 - (the-as part-tracker gp-1) - *entity-pool* - (symbol->string (-> part-tracker symbol)) - (the-as pointer #x70004000) - ) - ) - (let ((t9-4 run-function-in-process) - (a0-4 gp-1) - (a1-3 part-tracker-init) - (a2-5 (-> *part-group-id-table* 1132)) - (a3-2 0) - (t0-1 #f) - (t1-1 #f) - (t2-1 #f) - (t3-0 *launch-matrix*) - ) - (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 - a2-5 - a3-2 - t0-1 - t1-1 - t2-1 - t3-0 - ) - ) - (-> gp-1 ppointer) - ) - ) + (part-tracker-spawn :to *entity-pool* :group group-pal-grind-ring-explode :mat-joint (-> self root trans)) ) :trans (behavior () (+! (-> self speed-y) (* -163840.0 (seconds-per-frame))) @@ -514,11 +480,11 @@ This commonly includes things such as: ;; WARN: Return type mismatch object vs none. (defmethod init-from-entity! ((this pal-grind-ring) (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" + This commonly includes things such as: + - stack size + - collision information + - loading the skeleton group / bones + - sounds" (pal-grind-ring-method-29 this) (process-drawable-from-entity! this arg0) (initialize-skeleton @@ -528,7 +494,7 @@ This commonly includes things such as: ) (logior! (-> this mask) (process-mask enemy)) (logior! (-> this mask) (process-mask collectable)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 1131) this)) + (set! (-> this part) (create-launch-control group-pal-grind-ring-energy this)) (process-spawn pal-grind-ring-center arg0 :to this) (go (method-of-object this idle)) (none) @@ -677,11 +643,11 @@ This commonly includes things such as: ;; WARN: Return type mismatch object vs none. (defmethod init-from-entity! ((this pal-ent-glass) (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" + This commonly includes things such as: + - stack size + - collision information + - loading the skeleton group / bones + - sounds" (pal-ent-glass-method-29 this) (process-drawable-from-entity! this arg0) (initialize-skeleton @@ -849,11 +815,11 @@ This commonly includes things such as: ;; WARN: Return type mismatch object vs none. (defmethod init-from-entity! ((this palent-turret) (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" + This commonly includes things such as: + - stack size + - collision information + - loading the skeleton group / bones + - sounds" (palent-turret-method-28 this) (process-drawable-from-entity! this arg0) (initialize-skeleton @@ -1022,11 +988,11 @@ This commonly includes things such as: ;; WARN: Return type mismatch object vs none. (defmethod init-from-entity! ((this pal-breakable-window) (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" + This commonly includes things such as: + - stack size + - collision information + - loading the skeleton group / bones + - sounds" (pal-breakable-window-method-29 this) (process-drawable-from-entity! this arg0) (initialize-skeleton diff --git a/goal_src/jak2/levels/palace/roof/palroof-obs.gc b/goal_src/jak2/levels/palace/roof/palroof-obs.gc index 214929371c..bd0e2e6fb9 100644 --- a/goal_src/jak2/levels/palace/roof/palroof-obs.gc +++ b/goal_src/jak2/levels/palace/roof/palroof-obs.gc @@ -154,7 +154,7 @@ (the-as skeleton-group (art-group-get-by-name *level* "skel-pal-prong" (the-as (pointer uint32) #f))) (the-as pair 0) ) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 1111) this)) + (set! (-> this part) (create-launch-control group-pal-prong-energy this)) (if (task-node-closed? (game-task-node palace-boss-resolution)) (go (method-of-object this broken)) (go (method-of-object this idle)) diff --git a/goal_src/jak2/levels/ruins/mechtest-obs.gc b/goal_src/jak2/levels/ruins/mechtest-obs.gc index ec33c572ca..340c406507 100644 --- a/goal_src/jak2/levels/ruins/mechtest-obs.gc +++ b/goal_src/jak2/levels/ruins/mechtest-obs.gc @@ -171,7 +171,7 @@ (a0-26 s1-0) (a1-6 (new 'stack-no-clear 'nav-find-poly-parms)) ) - (vector-! (-> a1-6 point) (the-as vector a0-26) (-> v1-28 state mesh bounds)) + (vector-! (-> a1-6 point) (-> a0-26 world-sphere) (-> v1-28 state mesh bounds)) (set! (-> a1-6 y-threshold) (-> v1-28 nearest-y-threshold)) (set! (-> a1-6 ignore) (the-as uint 2)) (let ((a2-4 (find-poly-containing-point-local (-> v1-28 state mesh) a1-6))) @@ -179,7 +179,7 @@ (a2-4 (clamp-vector-to-mesh-cross-gaps s2-0 - (the-as vector s1-0) + (-> s1-0 world-sphere) a2-4 s3-0 204.8 @@ -215,7 +215,7 @@ (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)) + (vector-! (-> a1-9 point) (-> a0-41 world-sphere) (-> v1-44 state mesh bounds)) (set! (-> a1-9 y-threshold) (-> v1-44 nearest-y-threshold)) (set! (-> a1-9 ignore) (the-as uint 2)) (let ((v1-46 (find-poly-containing-point-local (-> v1-44 state mesh) a1-9))) @@ -309,72 +309,14 @@ ) ) (sound-play "block-break") - (let ((gp-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-1 - (let ((t9-4 (method-of-type part-tracker activate))) - (t9-4 (the-as part-tracker gp-1) self (symbol->string (-> part-tracker symbol)) (the-as pointer #x70004000)) - ) - (let ((t9-5 run-function-in-process) - (a0-11 gp-1) - (a1-4 part-tracker-init) - (a2-5 (-> *part-group-id-table* 124)) - (a3-2 0) - (t0-1 #f) - (t1-1 #f) - (t2-1 #f) - (t3-0 *launch-matrix*) - ) - (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 - a2-5 - a3-2 - t0-1 - t1-1 - t2-1 - t3-0 - ) - ) - (-> gp-1 ppointer) - ) - ) + (part-tracker-spawn :to self :group group-crate-explode :mat-joint (-> self root trans)) (go-virtual wait) ) ((or (< 12288.0 (vector-vector-distance (-> self drop-point) (-> self root trans))) (time-elapsed? (-> self state-time) (seconds 5)) ) (sound-play "block-break") - (let ((gp-3 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-3 - (let ((t9-11 (method-of-type part-tracker activate))) - (t9-11 (the-as part-tracker gp-3) self (symbol->string (-> part-tracker symbol)) (the-as pointer #x70004000)) - ) - (let ((t9-12 run-function-in-process) - (a0-18 gp-3) - (a1-9 part-tracker-init) - (a2-11 (-> *part-group-id-table* 124)) - (a3-5 0) - (t0-3 #f) - (t1-3 #f) - (t2-3 #f) - (t3-1 *launch-matrix*) - ) - (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 - a2-11 - a3-5 - t0-3 - t1-3 - t2-3 - t3-1 - ) - ) - (-> gp-3 ppointer) - ) - ) + (part-tracker-spawn :to self :group group-crate-explode :mat-joint (-> self root trans)) (go-virtual wait) ) (else diff --git a/goal_src/jak2/levels/ruins/ruins-scenes.gc b/goal_src/jak2/levels/ruins/ruins-scenes.gc index ba1902573a..0c5005a6e9 100644 --- a/goal_src/jak2/levels/ruins/ruins-scenes.gc +++ b/goal_src/jak2/levels/ruins/ruins-scenes.gc @@ -1354,7 +1354,7 @@ The scale will be linearly-interpolated based on the distance from the camera" (the-as skeleton-group (art-group-get-by-name *level* "skel-flag" (the-as (pointer uint32) #f))) (the-as pair 0) ) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 78) this)) + (set! (-> this part) (create-launch-control group-rod-of-god this)) (add-icon! *minimap* this (the-as uint 16) (the-as int #f) (the-as vector #t) 0) (go (method-of-object this idle)) (none) diff --git a/goal_src/jak2/levels/sewer/escort/jinx-bomb.gc b/goal_src/jak2/levels/sewer/escort/jinx-bomb.gc index 893e8fa1d6..fc71b05f53 100644 --- a/goal_src/jak2/levels/sewer/escort/jinx-bomb.gc +++ b/goal_src/jak2/levels/sewer/escort/jinx-bomb.gc @@ -73,7 +73,7 @@ (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 group) group-sewer-explode0) (set! (-> gp-0 collide-with) (collide-spec jak bot player-list)) (set! (-> gp-0 penetrate-using) (penetrate explode)) (explosion-spawn self explosion gp-0) diff --git a/goal_src/jak2/levels/sewer/sew-gunturret.gc b/goal_src/jak2/levels/sewer/sew-gunturret.gc index 5f4d5bf247..31b95b3016 100644 --- a/goal_src/jak2/levels/sewer/sew-gunturret.gc +++ b/goal_src/jak2/levels/sewer/sew-gunturret.gc @@ -1011,9 +1011,9 @@ (init-enemy-behaviour-and-stats! this (-> this params enemy-info)) (logclear! (-> this mask) (process-mask actor-pause)) (logclear! (-> this enemy-flags) (enemy-flag actor-pause-backup)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 1126) this)) - (set! (-> this smoke-part) (create-launch-control (-> *part-group-id-table* 1127) this)) - (set! (-> this casing-part) (create-launch-control (-> *part-group-id-table* 1128) this)) + (set! (-> this part) (create-launch-control group-sew-gunturret-hit this)) + (set! (-> this smoke-part) (create-launch-control group-sew-gunturret-smoke this)) + (set! (-> this casing-part) (create-launch-control group-sew-gunturret-casing this)) (set! (-> this gun-tilt-jm) (new 'process 'joint-mod (joint-mod-mode joint-set*) this (-> this params barrel-joint)) ) diff --git a/goal_src/jak2/levels/sewer/sewer-obs2.gc b/goal_src/jak2/levels/sewer/sewer-obs2.gc index 19455566f3..63d77162ec 100644 --- a/goal_src/jak2/levels/sewer/sewer-obs2.gc +++ b/goal_src/jak2/levels/sewer/sewer-obs2.gc @@ -47,12 +47,7 @@ (defmethod commited-to-ride? ((this sew-elevator)) "@returns if the target is considered within the elevator area enough to begin descending/ascending" - (let* ((target *target*) - (target-proc (if (type? target process-focusable) - target - ) - ) - ) + (let ((target-proc (the-as target (as-type *target* process-focusable)))) (when target-proc (let* ((target-pos (get-trans target-proc 0)) (dist-from-center (vector-! (new 'stack-no-clear 'vector) target-pos (-> this root trans))) @@ -770,12 +765,7 @@ :event (behavior ((proc process) (argc int) (message symbol) (block event-message-block)) (case message (('touch 'attack) - (let* ((_proc proc) - (focus-proc (if (type? _proc process-focusable) - (the-as process-focusable _proc) - ) - ) - ) + (let ((focus-proc (as-type proc process-focusable))) (when focus-proc (let ((a0-4 (vector-normalize! @@ -830,36 +820,7 @@ (logior! (-> self draw status) (draw-control-status no-draw)) (sound-play "sew-mine-b") (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))) - (func (the-as part-tracker part) self (symbol->string (-> part-tracker symbol)) (the-as pointer #x70004000)) - ) - (let ((t9-7 run-function-in-process) - (a0-8 part) - (a1-6 part-tracker-init) - (a2-10 (-> *part-group-id-table* 124)) - (a3-4 0) - (t0-2 #f) - (t1-1 #f) - (t2-1 #f) - (t3-0 *launch-matrix*) - ) - (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 - a2-10 - a3-4 - t0-2 - t1-1 - t2-1 - t3-0 - ) - ) - (-> part ppointer) - ) - ) + (part-tracker-spawn :to self :group group-crate-explode :mat-joint (-> self root trans)) (cleanup-for-death self) (suspend-for (seconds 2) ) @@ -868,7 +829,7 @@ (defmethod init-mine! ((this sew-mine)) "Initializes the mine's particles and sets `last-time` to `0`" - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 345) this)) + (set! (-> this part) (create-launch-control group-sew-mine-light this)) (set! (-> this last-time) 0) 0 (none) @@ -1489,12 +1450,7 @@ (logior! (-> self draw status) (draw-control-status no-draw)) ) :trans (behavior () - (let* ((target *target*) - (target-proc (if (type? target process-focusable) - target - ) - ) - ) + (let ((target-proc (the-as target (as-type *target* process-focusable)))) (when target-proc (cond ((< (vector-vector-distance (-> self root trans) (get-trans target-proc 0)) 20480.0) diff --git a/goal_src/jak2/levels/stadium/skate/skatea-obs.gc b/goal_src/jak2/levels/stadium/skate/skatea-obs.gc index 60d3578d91..b639293024 100644 --- a/goal_src/jak2/levels/stadium/skate/skatea-obs.gc +++ b/goal_src/jak2/levels/stadium/skate/skatea-obs.gc @@ -66,15 +66,9 @@ ) ) (set! (-> s5-1 flags) (font-flags shadow kerning large)) - (let ((v1-4 s5-1)) - (set! (-> v1-4 width) (the float 440)) - ) - (let ((v1-5 s5-1)) - (set! (-> v1-5 height) (the float 80)) - ) - (let ((v1-6 s5-1)) - (set! (-> v1-6 scale) 0.75) - ) + (set-width! s5-1 440) + (set-height! s5-1 80) + (set-scale! s5-1 0.75) (let ((s4-0 print-game-text)) (format (clear *temp-string*) (lookup-text! *common-text* arg0 #f)) (s4-0 *temp-string* s5-1 #f 44 (bucket-id progress)) @@ -339,7 +333,8 @@ (suspend) ) (send-event (handle->process (-> self voicebox)) 'speak-effect #f) - (suspend-for (seconds 1)) + (suspend-for (seconds 1) + ) (send-event (handle->process (-> self voicebox)) 'speak-effect #t) (set! (-> self last-sound-id) (add-process *gui-control* self (gui-channel sig) (gui-action play) "kei006" -99.0 0) @@ -375,7 +370,8 @@ (suspend) ) (send-event (handle->process (-> self voicebox)) 'speak-effect #f) - (suspend-for (seconds 1)) + (suspend-for (seconds 1) + ) (send-event (handle->process (-> self voicebox)) 'speak-effect #t) (set! (-> self last-sound-id) (add-process *gui-control* self (gui-channel sig) (gui-action play) "kei008" -99.0 0) @@ -444,7 +440,8 @@ (while (nonzero? (get-status *gui-control* (-> self last-sound-id))) (suspend) ) - (suspend-for (seconds 1)) + (suspend-for (seconds 1) + ) (set! (-> self last-sound-id) (add-process *gui-control* self (gui-channel sig) (gui-action play) "kei013" -99.0 0) ) @@ -505,7 +502,8 @@ (suspend) ) (send-event (handle->process (-> self voicebox)) 'speak-effect #f) - (suspend-for (seconds 1)) + (suspend-for (seconds 1) + ) (send-event (handle->process (-> self voicebox)) 'speak-effect #t) (set! (-> self last-sound-id) (add-process *gui-control* self (gui-channel sig) (gui-action play) "kei010" -99.0 0) @@ -541,7 +539,8 @@ (suspend) ) (send-event (handle->process (-> self voicebox)) 'speak-effect #f) - (suspend-for (seconds 1)) + (suspend-for (seconds 1) + ) (send-event (handle->process (-> self voicebox)) 'speak-effect #t) (set! (-> self last-sound-id) (add-process *gui-control* self (gui-channel sig) (gui-action play) "kei016" -99.0 0) @@ -574,7 +573,8 @@ (suspend) ) (send-event (handle->process (-> self voicebox)) 'speak-effect #f) - (suspend-for (seconds 1)) + (suspend-for (seconds 1) + ) (send-event (handle->process (-> self voicebox)) 'speak-effect #t) (set! (-> self last-sound-id) (add-process *gui-control* self (gui-channel sig) (gui-action play) "kei017" -99.0 0) @@ -1682,42 +1682,8 @@ :virtual #t :code (behavior () (sound-play "dig-air-lifter") - (let ((s5-1 (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node skatea-jump-pad-lod0-jg main))) - (gp-1 (get-process *default-dead-pool* part-tracker #x4000)) - ) - (when gp-1 - (let ((t9-4 (method-of-type part-tracker activate))) - (t9-4 - (the-as part-tracker gp-1) - *entity-pool* - (symbol->string (-> part-tracker symbol)) - (the-as pointer #x70004000) - ) - ) - (let ((t9-5 run-function-in-process) - (a0-5 gp-1) - (a1-4 part-tracker-init) - (a2-5 (-> *part-group-id-table* 12)) - (a3-2 0) - (t0-1 #f) - (t1-1 #f) - (t2-1 #f) - (t3-0 *launch-matrix*) - ) - (set! (-> t3-0 trans quad) (-> s5-1 quad)) - ((the-as (function object object object object object object object object none) t9-5) - a0-5 - a1-4 - a2-5 - a3-2 - t0-1 - t1-1 - t2-1 - t3-0 - ) - ) - (-> gp-1 ppointer) - ) + (let ((s5-1 (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node skatea-jump-pad-lod0-jg main)))) + (part-tracker-spawn :to *entity-pool* :group group-smack-surface :mat-joint s5-1) ) (let ((t9-6 (-> (method-of-type bouncer fire) code))) (if t9-6 @@ -1840,7 +1806,7 @@ (logior! (-> this mask) (process-mask crate)) (set! (-> this pos-y) (-> this root trans y)) (set! (-> this offset) (rand-vu)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 539) this)) + (set! (-> this part) (create-launch-control group-skatea-flaming-ring this)) (set! (-> this sound) (new 'process 'ambient-sound (static-sound-spec "fire-ring" :fo-min 10 :fo-max 30) (-> this root trans)) ) diff --git a/goal_src/jak2/levels/stadium/stadium-obs.gc b/goal_src/jak2/levels/stadium/stadium-obs.gc index 285e61f4c3..f44a9dce1d 100644 --- a/goal_src/jak2/levels/stadium/stadium-obs.gc +++ b/goal_src/jak2/levels/stadium/stadium-obs.gc @@ -354,13 +354,9 @@ (go-virtual defend-stadium-die) ) (('touch) - (let* ((gp-1 (-> arg3 param 0)) - (s3-7 arg0) - (s4-1 (if (type? s3-7 process-focusable) - s3-7 - ) - ) - ) + (let ((gp-1 (-> arg3 param 0)) + (s4-1 (the-as process (as-type arg0 process-focusable))) + ) (if (and gp-1 s4-1 ((method-of-type touching-shapes-entry prims-touching-action?) @@ -884,36 +880,7 @@ (defstate defend-stadium-explode (rift-rider) :virtual #t :code (behavior () - (let ((gp-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-0 - (let ((t9-1 (method-of-type part-tracker activate))) - (t9-1 (the-as part-tracker gp-0) self (symbol->string (-> part-tracker symbol)) (the-as pointer #x70004000)) - ) - (let ((t9-2 run-function-in-process) - (a0-2 gp-0) - (a1-2 part-tracker-init) - (a2-4 (-> *part-group-id-table* 125)) - (a3-1 0) - (t0-0 #f) - (t1-0 #f) - (t2-0 #f) - (t3-0 *launch-matrix*) - ) - (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 - a2-4 - a3-1 - t0-0 - t1-0 - t2-0 - t3-0 - ) - ) - (-> gp-0 ppointer) - ) - ) + (part-tracker-spawn :to self :group group-crate-steel-explode :mat-joint (-> self root trans)) (suspend) (cleanup-for-death self) ) @@ -931,7 +898,7 @@ (defmethod rigid-body-object-method-34 ((this rift-rider)) (cond ((nonzero? (-> this path)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 902) this)) + (set! (-> this part) (create-launch-control group-defend-rift-rider-energy this)) (logior! (-> this path flags) (path-control-flag display draw-line draw-point draw-text)) (go defend-stadium-wait) ) @@ -1396,11 +1363,7 @@ (let ((s5-1 (the-as object (-> arg3 param 1)))) (when (!= (-> (the-as attack-info s5-1) id) (-> self incoming-attack-id)) (set! (-> self incoming-attack-id) (-> (the-as attack-info s5-1) id)) - (let ((a0-14 (if (type? arg0 process-focusable) - arg0 - ) - ) - ) + (let ((a0-14 (the-as process (as-type arg0 process-focusable)))) (cond (a0-14 (vector-! (-> self hit-dir) (-> self root trans) (-> (the-as process-drawable a0-14) root trans)) @@ -2020,7 +1983,7 @@ (set! (-> this hit-points) (-> this max-hit-points)) (set! (-> this incoming-attack-id) (the-as uint -1)) (set! (-> this focus-disable-timer) 0) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 903) this)) + (set! (-> this part) (create-launch-control group-defend-stadium-samos-energy this)) (go (method-of-object this idle)) (none) ) @@ -2353,7 +2316,7 @@ (when sv-272 (quaternion-look-at! (-> (the-as process-drawable (-> s4-0 0)) root quat) (-> sv-272 normal) *up-vector*) (set! (-> this plane quad) (-> sv-272 normal quad)) - (set! (-> this plane w) (- (vector-dot (-> sv-272 normal) (the-as vector (-> sv-272 vertex))))) + (set! (-> this plane w) (- (vector-dot (-> sv-272 normal) (-> sv-272 vertex 0)))) (let ((f30-0 (the-as float #x7f800000)) (f28-0 (the-as float #xff800000)) (s0-1 (new 'stack-no-clear 'vector)) @@ -2382,7 +2345,7 @@ (vector+! sv-336 s1-1 sv-336) (vector-inv-orient-by-quat! s0-1 - (vector-! (new 'stack-no-clear 'vector) (the-as vector (-> sv-272 vertex)) s1-1) + (vector-! (new 'stack-no-clear 'vector) (-> sv-272 vertex 0) s1-1) (-> (the-as process-drawable (-> s4-0 0)) root quat) ) (if (< (-> s0-1 x) f30-0) @@ -3077,9 +3040,9 @@ (the int (+ 130.0 (* -100.0 (-> this offset)))) ) (set! (-> this sprites 0 angle) (* 182.04445 (the float (- 270 (/ (* 90 (-> this values 0 current)) 100))))) - (set-as-offset-from! (the-as hud-sprite (-> this sprites)) (the-as vector4w (-> this sprites 2)) 40 16) - (set-as-offset-from! (-> this sprites 1) (the-as vector4w (-> this sprites 2)) 1 16) - (set-as-offset-from! (-> this sprites 3) (the-as vector4w (-> this sprites 2)) 5 2) + (set-as-offset-from! (-> this sprites 0) (-> this sprites 2 pos) 40 16) + (set-as-offset-from! (-> this sprites 1) (-> this sprites 2 pos) 1 16) + (set-as-offset-from! (-> this sprites 3) (-> this sprites 2 pos) 5 2) ((method-of-type hud draw) this) 0 (none) diff --git a/goal_src/jak2/levels/strip/chaincrate.gc b/goal_src/jak2/levels/strip/chaincrate.gc index ea5ac7b5ae..6f5d924322 100644 --- a/goal_src/jak2/levels/strip/chaincrate.gc +++ b/goal_src/jak2/levels/strip/chaincrate.gc @@ -218,8 +218,8 @@ (the-as skeleton-group (art-group-get-by-name *level* "skel-strip-chain-crate" (the-as (pointer uint32) #f))) (the-as pair 0) ) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 238) self)) - (set! (-> self part2) (create-launch-control (-> *part-group-id-table* 239) self)) + (set! (-> self part) (create-launch-control group-chain-crate-cable-sparks self)) + (set! (-> self part2) (create-launch-control group-chain-crate-guide-sparks self)) (set! (-> self path) (new 'process 'curve-control self 'path -1000000000.0)) (logior! (-> self path flags) (path-control-flag display draw-line draw-point draw-text)) (let ((f0-7 (total-distance (-> self path)))) diff --git a/goal_src/jak2/levels/strip/strip-obs.gc b/goal_src/jak2/levels/strip/strip-obs.gc index a508577560..9347a2051a 100644 --- a/goal_src/jak2/levels/strip/strip-obs.gc +++ b/goal_src/jak2/levels/strip/strip-obs.gc @@ -8,13 +8,9 @@ ;; DECOMP BEGINS (defmethod draw ((this hud-plasmite)) - (set-hud-piece-position! - (the-as hud-sprite (-> this sprites)) - (the int (+ 457.0 (* 130.0 (-> this offset)))) - 210 - ) + (set-hud-piece-position! (-> this sprites 0) (the int (+ 457.0 (* 130.0 (-> this offset)))) 210) (format (clear (-> this strings 0 text)) "~D" (-> this values 0 current)) - (set-as-offset-from! (the-as hud-sprite (-> this strings 0 pos)) (the-as vector4w (-> this sprites)) -16 20) + (set-as-offset-from! (the-as hud-sprite (-> this strings 0 pos)) (-> this sprites 0 pos) -16 20) ((method-of-type hud draw) this) 0 (none) @@ -61,12 +57,7 @@ (defbehavior strip-handler strip-hazard ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('touch 'attack) - (let* ((s4-0 arg0) - (gp-0 (if (type? s4-0 process-focusable) - (the-as process-focusable s4-0) - ) - ) - ) + (let ((gp-0 (as-type arg0 process-focusable))) (when gp-0 (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))) @@ -409,7 +400,7 @@ (vector<-cspace! (new 'static 'vector) (-> this node-list data 4)) ) ) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 214) this)) + (set! (-> this part) (create-launch-control group-strip-pitspikes-dust this)) (logclear! (-> this mask) (process-mask actor-pause)) (go (method-of-object this idle)) (none) @@ -502,7 +493,7 @@ (vector<-cspace! (new 'static 'vector) (-> this node-list data 3)) ) ) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 213) this)) + (set! (-> this part) (create-launch-control group-strip-curtain-saw-dust this)) (logclear! (-> this mask) (process-mask actor-pause)) (go (method-of-object this idle)) (none) @@ -871,10 +862,10 @@ ) (process-drawable-from-entity! this arg0) (set! (-> this camera-name) (res-lump-struct (-> this entity) 'camera-name string)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 215) this)) - (set! (-> this part2) (create-launch-control (-> *part-group-id-table* 216) this)) - (set! (-> this part3) (create-launch-control (-> *part-group-id-table* 217) this)) - (set! (-> this part-lightning-hit) (create-launch-control (-> *part-group-id-table* 218) this)) + (set! (-> this part) (create-launch-control group-grenade-point this)) + (set! (-> this part2) (create-launch-control group-grenade-point-hit this)) + (set! (-> this part3) (create-launch-control group-grenade-point-dead this)) + (set! (-> this part-lightning-hit) (create-launch-control group-lightning-silo-tip this)) (set! (-> this lightning-time) 0) (set! (-> this strike-table) (-> *grenade-point-strike-table* @@ -1082,41 +1073,7 @@ (defmethod draw-laser-sight ((this grenade)) "TODO - confirm If applicable, draw the laser sight particles" - (let ((gp-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-0 - (let ((t9-1 (method-of-type part-tracker activate))) - (t9-1 - (the-as part-tracker gp-0) - *entity-pool* - (symbol->string (-> part-tracker symbol)) - (the-as pointer #x70004000) - ) - ) - (let ((t9-2 run-function-in-process) - (a0-3 gp-0) - (a1-2 part-tracker-init) - (a2-4 (-> *part-group-id-table* 237)) - (a3-1 0) - (t0-0 #f) - (t1-0 #f) - (t2-0 #f) - (t3-0 *launch-matrix*) - ) - (set! (-> t3-0 trans quad) (-> this root trans quad)) - ((the-as (function object object object object object object object object none) t9-2) - a0-3 - a1-2 - a2-4 - a3-1 - t0-0 - t1-0 - t2-0 - t3-0 - ) - ) - (-> gp-0 ppointer) - ) - ) + (part-tracker-spawn :to *entity-pool* :group group-grenade-fired :mat-joint (-> this root trans)) 0 (none) ) @@ -1131,41 +1088,7 @@ (defmethod spawn-shell-particles ((this grenade)) "TODO - confirm" - (let ((gp-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-0 - (let ((t9-1 (method-of-type part-tracker activate))) - (t9-1 - (the-as part-tracker gp-0) - *entity-pool* - (symbol->string (-> part-tracker symbol)) - (the-as pointer #x70004000) - ) - ) - (let ((t9-2 run-function-in-process) - (a0-3 gp-0) - (a1-2 part-tracker-init) - (a2-4 (-> *part-group-id-table* 236)) - (a3-1 0) - (t0-0 #f) - (t1-0 #f) - (t2-0 #f) - (t3-0 *launch-matrix*) - ) - (set! (-> t3-0 trans quad) (-> this root trans quad)) - ((the-as (function object object object object object object object object none) t9-2) - a0-3 - a1-2 - a2-4 - a3-1 - t0-0 - t1-0 - t2-0 - t3-0 - ) - ) - (-> gp-0 ppointer) - ) - ) + (part-tracker-spawn :to *entity-pool* :group group-grenade-hit :mat-joint (-> this root trans)) 0 (none) ) @@ -1190,12 +1113,7 @@ :event (behavior ((proc process) (argc int) (message symbol) (block event-message-block)) (case message (('touched) - (let* ((s4-0 proc) - (v1-1 (if (type? s4-0 process-drawable) - (the-as process-drawable s4-0) - ) - ) - ) + (let ((v1-1 (as-type proc process-drawable))) (when v1-1 (let ((a0-3 (-> v1-1 root)) (a1-2 (new 'stack-no-clear 'collide-query)) @@ -1205,7 +1123,7 @@ ) 0.0 (set! (-> a1-2 start-pos quad) (-> v1-4 world-sphere quad)) - (vector-! (-> a1-2 move-dist) (the-as vector a0-5) (the-as vector v1-4)) + (vector-! (-> a1-2 move-dist) (-> a0-5 world-sphere) (-> v1-4 world-sphere)) ) (let ((v1-5 a1-2)) (set! (-> v1-5 radius) 40.96) @@ -1332,44 +1250,33 @@ (defmethod init-proj-settings! ((this grenade)) "Init relevant settings for the [[projectile]] such as gravity, speed, timeout, etc" - (with-pp - (initialize-skeleton - this - (the-as skeleton-group (art-group-get-by-name *level* "skel-grenade" (the-as (pointer uint32) #f))) - (the-as pair 0) - ) - (logclear! (-> this options) (projectile-options proj-options-4)) - (vector-normalize! (-> this root transv) 1.0) - (+! (-> this root transv y) 1.0) - (vector-normalize! (-> this root transv) 184320.0) - (set! (-> this attack-mode) 'eco-yellow) - (set! (-> this blast-radius) 20480.0) - (set! (-> this max-speed) 184320.0) - (set! (-> this timeout) (seconds 3.6)) - (set! (-> this update-velocity) (method-of-object this grenade-method-40)) - (set! (-> this move) (method-of-object this grenade-method-41)) - (set! (-> this root dynam gravity y) 327680.0) - (set! (-> this root dynam gravity-length) 327680.0) - (set! (-> this root dynam gravity-max) 327680.0) - (let ((f0-7 1092.2667)) - (quaternion-axis-angle! (-> this tumble-quat) 1.0 0.0 0.0 f0-7) - ) - (let ((a1-5 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-5 from) (process->ppointer pp)) - (set! (-> a1-5 num-params) 0) - (set! (-> a1-5 message) 'target) - (let ((s5-1 (send-event-function (ppointer->process (-> this parent)) a1-5))) - (set! (-> this end-target) (process->handle (if (type? s5-1 process-drawable) - (the-as process-drawable s5-1) - ) - ) - ) - ) - ) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 235) this)) - (cpad-set-buzz! (-> *cpad-list* cpads 0) 1 204 (seconds 0.1)) - (none) + (initialize-skeleton + this + (the-as skeleton-group (art-group-get-by-name *level* "skel-grenade" (the-as (pointer uint32) #f))) + (the-as pair 0) ) + (logclear! (-> this options) (projectile-options proj-options-4)) + (vector-normalize! (-> this root transv) 1.0) + (+! (-> this root transv y) 1.0) + (vector-normalize! (-> this root transv) 184320.0) + (set! (-> this attack-mode) 'eco-yellow) + (set! (-> this blast-radius) 20480.0) + (set! (-> this max-speed) 184320.0) + (set! (-> this timeout) (seconds 3.6)) + (set! (-> this update-velocity) (method-of-object this grenade-method-40)) + (set! (-> this move) (method-of-object this grenade-method-41)) + (set! (-> this root dynam gravity y) 327680.0) + (set! (-> this root dynam gravity-length) 327680.0) + (set! (-> this root dynam gravity-max) 327680.0) + (let ((f0-7 1092.2667)) + (quaternion-axis-angle! (-> this tumble-quat) 1.0 0.0 0.0 f0-7) + ) + (set! (-> this end-target) + (process->handle (as-type (send-event (ppointer->process (-> this parent)) 'target) process-drawable)) + ) + (set! (-> this part) (create-launch-control group-grenade-armed this)) + (cpad-set-buzz! (-> *cpad-list* cpads 0) 1 204 (seconds 0.1)) + (none) ) (defskelgroup skel-ecowell-a ecowell-a ecowell-a-lod0-jg -1 diff --git a/goal_src/jak2/levels/tomb/tomb-beetle.gc b/goal_src/jak2/levels/tomb/tomb-beetle.gc index 313bf220cc..2362185c9b 100644 --- a/goal_src/jak2/levels/tomb/tomb-beetle.gc +++ b/goal_src/jak2/levels/tomb/tomb-beetle.gc @@ -523,14 +523,14 @@ (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)) (+! (-> gp-0 0 dst y) 106496.0) - (vector-! (-> self fly-away-dir) (the-as vector (-> gp-0 0)) (the-as vector (-> s5-0 0))) + (vector-! (-> self fly-away-dir) (-> gp-0 0 dst) (-> s5-0 0 dst)) (vector-normalize! (-> self fly-away-dir) 1.0) (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 quat))) - (set! (-> gp-0 0 dist) (vector-vector-distance (-> self root trans) (the-as vector (-> gp-0 0)))) + (set! (-> gp-0 0 dist) (vector-vector-distance (-> self root trans) (-> gp-0 0 dst))) ) (vector-reset! (-> self root transv)) (set! (-> self fly-away-acc) (rnd-float-range self 204800.0 512000.0)) @@ -612,14 +612,14 @@ (+! (-> self speed) (* (-> self fly-away-acc) (seconds-per-frame))) (let ((s5-0 (new 'stack-no-clear 'vector))) (vector-normalize-copy! s5-0 (-> self fly-away-dir) (-> self speed)) - (vector-v++! (the-as vector (-> self fly-info)) s5-0) + (vector-v++! (-> self fly-info 0 dst) s5-0) ) (+! (-> self fly-away-ry) (* (-> self fly-away-ry-speed) (seconds-per-frame))) (+! (-> self fly-away-radius) (* 20480.0 (seconds-per-frame))) (let ((s5-1 (new 'stack-no-clear 'vector))) (set-vector! s5-1 (sin (-> self fly-away-ry)) 0.0 (cos (-> self fly-away-ry)) 1.0) (vector-normalize! s5-1 (-> self fly-away-radius)) - (vector+! s5-1 s5-1 (the-as vector (-> self fly-info))) + (vector+! s5-1 s5-1 (-> self fly-info 0 dst)) (vector-! (-> gp-0 transv) s5-1 (-> gp-0 trans)) (let ((v1-10 (-> gp-0 transv))) (.lvf vf1 (&-> (-> gp-0 transv) quad)) @@ -671,12 +671,7 @@ :virtual #t :code (behavior () (when (logtest? (-> self flags) 1) - (let* ((s5-0 *target*) - (gp-0 (if (type? s5-0 process-focusable) - s5-0 - ) - ) - ) + (let ((gp-0 (the-as target (as-type *target* process-focusable)))) (when gp-0 (let ((s5-2 (vector-! (new 'stack-no-clear 'vector) (get-trans gp-0 0) (-> self root trans)))) (when (< (vector-length s5-2) 16384.0) @@ -700,37 +695,9 @@ ) 0 (logior! (-> self draw status) (draw-control-status no-draw)) - (let ((gp-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-1 - (let ((t9-5 (method-of-type part-tracker activate))) - (t9-5 (the-as part-tracker gp-1) self (symbol->string (-> part-tracker symbol)) (the-as pointer #x70004000)) - ) - (let ((t9-6 run-function-in-process) - (a0-15 gp-1) - (a1-6 part-tracker-init) - (a2-6 (-> *part-group-id-table* 708)) - (a3-1 0) - (t0-0 #f) - (t1-0 #f) - (t2-0 #f) - (t3-0 *launch-matrix*) - ) - (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 - a2-6 - a3-1 - t0-0 - t1-0 - t2-0 - t3-0 - ) - ) - (-> gp-1 ppointer) - ) + (part-tracker-spawn :to self :group group-tomb-beetle-explode :mat-joint (-> self root trans)) + (suspend-for (seconds 2) ) - (suspend-for (seconds 2)) ) :post nav-enemy-simple-post ) @@ -776,7 +743,7 @@ ) ) ) - (vector+! (the-as vector (-> gp-0 0)) (the-as vector (-> gp-0 0)) s4-0) + (vector+! (-> gp-0 0 dst) (-> gp-0 0 dst) s4-0) (set! (-> gp-0 0 dst w) (-> s4-0 w)) ) ) @@ -786,14 +753,14 @@ (+! (-> gp-0 0 dst y) 16384.0) ) ) - (let ((s4-2 (vector-! (new 'stack-no-clear 'vector) (the-as vector (-> gp-0 0)) (-> self root trans)))) + (let ((s4-2 (vector-! (new 'stack-no-clear 'vector) (-> gp-0 0 dst) (-> self root trans)))) (cond ((< (vector-length s4-2) 122880.0) (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 trans) s4-2) + (vector+! (-> s5-0 0 dst) (-> self root trans) s4-2) (set! (-> s5-0 0 dst y) (+ 20480.0 (-> gp-0 0 dst y))) ) ) @@ -805,20 +772,17 @@ (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 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! (-> s5-0 0 dist) (vector-vector-distance (-> self root trans) (-> s5-0 0 dst))) + (set! (-> gp-0 0 dist) (vector-vector-distance (-> self root trans) (-> gp-0 0 dst))) ) (set! (-> self dest-index) 0) (set! (-> self speed) 122880.0) (vector-reset! (-> self root transv)) ) :trans (behavior () - (when (< (vector-length (vector-! - (new 'stack-no-clear 'vector) - (-> self root trans) - (the-as vector (-> self fly-info (-> self dest-index))) - ) - ) + (when (< (vector-length + (vector-! (new 'stack-no-clear 'vector) (-> self root trans) (-> self fly-info (-> self dest-index) dst)) + ) (-> self fly-info (-> self dest-index) threshold) ) (when (= (-> self dest-index) 1) diff --git a/goal_src/jak2/levels/tomb/tomb-water.gc b/goal_src/jak2/levels/tomb/tomb-water.gc index c283b902e1..6b40af5525 100644 --- a/goal_src/jak2/levels/tomb/tomb-water.gc +++ b/goal_src/jak2/levels/tomb/tomb-water.gc @@ -62,13 +62,9 @@ ) :trans (behavior () (when (logtest? (actor-option user17) (-> self fact options)) - (let* ((gp-0 *target*) - (a0-3 (if (type? gp-0 process-focusable) - gp-0 - ) - ) - (s4-0 (-> self root trans)) - ) + (let ((a0-3 (the-as target (as-type *target* process-focusable))) + (s4-0 (-> self root trans)) + ) (when a0-3 (let* ((s3-0 (get-trans a0-3 0)) (s5-0 (vector-normalize! (vector-! (new 'stack-no-clear 'vector) s3-0 s4-0) 1.0)) @@ -123,7 +119,8 @@ ) ) :code (behavior ((arg0 time-frame)) - (suspend-for arg0) + (suspend-for arg0 + ) (ja-no-eval :group! tomb-door-open-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (-> self root quat) @@ -873,12 +870,7 @@ (send-event (handle->process (-> self plat gp-0)) 'die-unmaskable) ) ) - (let ((gp-1 *target*)) - (set! sv-96 (if (type? gp-1 process-focusable) - gp-1 - ) - ) - ) + (set! sv-96 (the-as target (as-type *target* process-focusable))) (dotimes (gp-2 (-> self plat-count)) (set! sv-128 (get-point-in-path! (-> self path) (new 'stack-no-clear 'vector) (the float gp-2) 'exact)) (set! sv-136 -1) @@ -938,7 +930,8 @@ ) ) :code (behavior () - (suspend-for (seconds 2)) + (suspend-for (seconds 2) + ) (go-virtual show-sequence) ) ) @@ -1123,12 +1116,7 @@ (go-virtual dangerous) ) (('ridden 'bonk) - (let* ((gp-0 *target*) - (a0-12 (if (type? gp-0 process-focusable) - gp-0 - ) - ) - ) + (let ((a0-12 (the-as target (as-type *target* process-focusable)))) (when a0-12 (let ((v1-6 (get-trans a0-12 0)) (a0-14 (-> self root trans)) @@ -1179,13 +1167,9 @@ (('touch 'ridden 'bonk 'edge-grabbed) (set-time! (-> self ride-timer)) (when (logtest? (-> self flags) (simon-block-flags dangerous)) - (let* ((gp-0 *target*) - (a0-10 (if (type? gp-0 process-focusable) - gp-0 - ) - ) - (v1-10 (new 'stack-no-clear 'vector)) - ) + (let ((a0-10 (the-as target (as-type *target* process-focusable))) + (v1-10 (new 'stack-no-clear 'vector)) + ) (set! (-> v1-10 x) 0.0) (set! (-> v1-10 y) 0.0) (set! (-> v1-10 z) 1.0) @@ -1292,12 +1276,7 @@ (set-time! (-> self ride-timer)) ) :trans (behavior () - (let* ((gp-0 *target*) - (a0-1 (if (type? gp-0 process-focusable) - gp-0 - ) - ) - ) + (let ((a0-1 (the-as target (as-type *target* process-focusable)))) (when a0-1 (let ((v1-2 (get-trans a0-1 0)) (a0-3 (-> self root trans)) @@ -1395,9 +1374,11 @@ :virtual #t :code (behavior () (set! (-> self move-rate) (* 4096.0 (rand-vu-float-range 0.5 1.5))) - (suspend-for (seconds 0.25)) + (suspend-for (seconds 0.25) + ) (logclear! (-> self root root-prim prim-core action) (collide-action rideable)) - (suspend-for (seconds 1)) + (suspend-for (seconds 1) + ) (cleanup-for-death self) ) :post (behavior () @@ -1789,7 +1770,8 @@ ) ) ) - (suspend-for (seconds 0.45)) + (suspend-for (seconds 0.45) + ) ) #f ) @@ -1850,12 +1832,7 @@ ) :code sleep-code :post (behavior () - (let* ((s5-0 *target*) - (gp-0 (if (type? s5-0 process-focusable) - s5-0 - ) - ) - ) + (let ((gp-0 (the-as target (as-type *target* process-focusable)))) (when gp-0 (when (and (not (logtest? (-> self flags) (tomb-vibe-flags tovflags-1))) (< (vector-vector-distance (-> self root trans) (get-trans gp-0 0)) 102400.0) @@ -1927,7 +1904,8 @@ 0 ) :code (behavior () - (suspend-for (seconds 0.2)) + (suspend-for (seconds 0.2) + ) (persist-with-delay *setting-control* (the-as symbol (process->ppointer self)) @@ -1937,7 +1915,8 @@ 0.0 (+ (-> self pat-tbl (-> self pat-index)) 18) ) - (suspend-for (seconds 0.2)) + (suspend-for (seconds 0.2) + ) (process-grab? *target* #f) (let ((gp-2 (current-time)) (s5-0 540) @@ -1970,36 +1949,7 @@ (transform-post) ) (else - (let ((gp-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-1 - (let ((t9-3 (method-of-type part-tracker activate))) - (t9-3 (the-as part-tracker gp-1) self (symbol->string (-> part-tracker symbol)) (the-as pointer #x70004000)) - ) - (let ((t9-4 run-function-in-process) - (a0-4 gp-1) - (a1-3 part-tracker-init) - (a2-5 (-> *part-group-id-table* 686)) - (a3-1 450) - (t0-0 #f) - (t1-0 #f) - (t2-0 #f) - (t3-0 *launch-matrix*) - ) - (set! (-> t3-0 trans quad) (-> self spawn-pos quad)) - ((the-as (function object object object object object object object object none) t9-4) - a0-4 - a1-3 - a2-5 - a3-1 - t0-0 - t1-0 - t2-0 - t3-0 - ) - ) - (-> gp-1 ppointer) - ) - ) + (part-tracker-spawn :to self :group group-tomb-vibe-dust-puff :duration 450 :mat-joint (-> self spawn-pos)) (ja-no-eval :group! tomb-vibe-fall-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (transform-post) @@ -2174,12 +2124,7 @@ (defstate idle (tomb-water-trap) :virtual #t :trans (behavior () - (let* ((gp-0 *target*) - (a0-1 (if (type? gp-0 process-focusable) - gp-0 - ) - ) - ) + (let ((a0-1 (the-as target (as-type *target* process-focusable)))) (if (and a0-1 (box-vector-inside? (-> self run-bbox) (get-trans a0-1 0))) (go-virtual running) ) @@ -2227,8 +2172,7 @@ (until #f (set! (-> self can-exit-running?) #f) (let ((gp-0 0)) - (suspend-for - (-> self on-duration) + (suspend-for (-> self on-duration) (when (< (-> self harmless-time) (current-time)) (tomb-water-trap-method-22 self) (dotimes (s4-0 (+ (-> self path curve num-cverts) -1)) @@ -2270,10 +2214,10 @@ ) (set! (-> self can-exit-running?) #t) (let ((gp-1 90)) - (suspend-for gp-1) + (suspend-for gp-1 + ) (let ((s5-2 #f)) - (suspend-for - (the-as time-frame (- (- (-> self sync period) (the-as uint (-> self on-duration))) (the-as uint gp-1))) + (suspend-for (the-as time-frame (- (- (-> self sync period) (the-as uint (-> self on-duration))) (the-as uint gp-1))) (when (and (not s5-2) (time-elapsed? time (seconds 0.3))) (set! s5-2 #t) (set-tombc-electricity-scale! 0.0) @@ -2321,12 +2265,7 @@ ) (let ((f30-0 (probe-using-line-sphere *collide-cache* s4-0))) (when (>= f30-0 0.0) - (let* ((s2-0 (-> s4-0 best-other-tri collide-ptr)) - (s4-1 (if (type? s2-0 collide-shape-prim-sphere) - (the-as collide-shape-prim-sphere s2-0) - ) - ) - ) + (let ((s4-1 (as-type (-> s4-0 best-other-tri collide-ptr) collide-shape-prim-sphere))) (when s4-1 (let ((s2-2 (vector+float*! (new 'stack-no-clear 'vector) arg0 s3-1 f30-0))) (tomb-water-trap-method-24 this arg0 s2-2 (the int (* 3.0 (rand-vu-float-range 5.0 11.0)))) @@ -2458,7 +2397,7 @@ :sound #f ) ) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 696) this)) + (set! (-> this part) (create-launch-control group-tomb-water-trap-hit this)) (let ((a3-3 (new 'stack-no-clear 'vector))) (set! (-> a3-3 x) (* 0.5 (+ (-> this bbox min x) (-> this bbox max x)))) (set! (-> a3-3 y) (* 0.5 (+ (-> this bbox min y) (-> this bbox max y)))) @@ -2521,12 +2460,7 @@ ) :trans (behavior () (when (time-elapsed? (-> self state-time) (-> self timeout)) - (let* ((s5-0 *target*) - (gp-0 (if (type? s5-0 process-focusable) - s5-0 - ) - ) - ) + (let ((gp-0 (the-as target (as-type *target* process-focusable)))) (cond (gp-0 (let* ((s5-1 (camera-pos)) diff --git a/goal_src/jak2/levels/tomb/widow-baron.gc b/goal_src/jak2/levels/tomb/widow-baron.gc index 7756f75458..8b6fafd4de 100644 --- a/goal_src/jak2/levels/tomb/widow-baron.gc +++ b/goal_src/jak2/levels/tomb/widow-baron.gc @@ -488,7 +488,7 @@ (set! (-> self blink-time) 0) (set! (-> self red-tip-change-time) 0) (set! (-> self has-stone) #f) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 728) self)) + (set! (-> self part) (create-launch-control group-widow-green-cannon-glow-rays self)) (baron-pod-method-21 self #t) (go-virtual idle) (none) @@ -944,7 +944,7 @@ (let ((s5-0 run-function-in-process) (s4-0 gp-2) (s3-0 part-tracker-init) - (s2-0 (-> *part-group-id-table* 710)) + (s2-0 group-spydroid-explode) (s1-0 600) (s0-0 #f) ) @@ -1037,9 +1037,7 @@ (s5-2 (-> self node-list data 3 bone transform)) (s4-3 (vector-normalize! (vector-! (new 'stack-no-clear 'vector) (the-as vector s4-2) v0-9) 1.0)) (f30-0 (vector-dot s4-3 (vector-normalize-copy! (new 'stack-no-clear 'vector) (-> s5-2 vector 2) 1.0))) - (f28-0 - (vector-dot s4-3 (vector-normalize-copy! (new 'stack-no-clear 'vector) (the-as vector (-> s5-2 vector)) 1.0)) - ) + (f28-0 (vector-dot s4-3 (vector-normalize-copy! (new 'stack-no-clear 'vector) (-> s5-2 vector 0) 1.0))) ) (ja-channel-push! 1 (seconds 0.03)) (set! (-> self drill-speed target) 0.0) @@ -1080,7 +1078,7 @@ (s5-8 (-> self node-list data 3 bone transform)) (f0-20 (vector-dot (vector-normalize! (vector-! (new 'stack-no-clear 'vector) (the-as vector gp-3) v0-28) 1.0) - (vector-normalize-copy! (new 'stack-no-clear 'vector) (the-as vector (-> s5-8 vector)) 1.0) + (vector-normalize-copy! (new 'stack-no-clear 'vector) (-> s5-8 vector 0) 1.0) ) ) ) diff --git a/goal_src/jak2/levels/tomb/widow-extras.gc b/goal_src/jak2/levels/tomb/widow-extras.gc index 8ecd86fe53..0a640bb9cf 100644 --- a/goal_src/jak2/levels/tomb/widow-extras.gc +++ b/goal_src/jak2/levels/tomb/widow-extras.gc @@ -110,41 +110,7 @@ ) ) (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))) - (t9-8 - (the-as part-tracker s5-7) - *entity-pool* - (symbol->string (-> part-tracker symbol)) - (the-as pointer #x70004000) - ) - ) - (let ((t9-9 run-function-in-process) - (a0-54 s5-7) - (a1-11 part-tracker-init) - (a2-11 (-> *part-group-id-table* 717)) - (a3-1 0) - (t0-0 #f) - (t1-0 #f) - (t2-0 #f) - (t3-0 *launch-matrix*) - ) - (set! (-> t3-0 trans quad) (-> gp-0 quad)) - ((the-as (function object object object object object object object object none) t9-9) - a0-54 - a1-11 - a2-11 - a3-1 - t0-0 - t1-0 - t2-0 - t3-0 - ) - ) - (-> s5-7 ppointer) - ) - ) + (part-tracker-spawn :to *entity-pool* :group group-widow-catwalk-shatter :mat-joint gp-0) ) ) :trans (behavior () @@ -630,12 +596,7 @@ (let ((gp-0 (new 'stack-no-clear 'vector)) (f30-0 32768.0) ) - (let* ((s4-0 (ppointer->process (-> self parent))) - (v1-5 (if (type? s4-0 widow) - (the-as widow s4-0) - ) - ) - ) + (let ((v1-5 (as-type (ppointer->process (-> self parent)) widow))) (vector-! gp-0 (-> self root trans) (-> (the-as widow arg0) root trans)) (set! (-> gp-0 y) 0.0) (cond @@ -708,12 +669,7 @@ (defbehavior widow-bomb-back-handler widow-bomb ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('impact-control) - (let* ((s4-0 (ppointer->process (-> self parent))) - (s5-0 (if (type? s4-0 widow) - (the-as widow s4-0) - ) - ) - ) + (let ((s5-0 (as-type (ppointer->process (-> self parent)) widow))) (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 trans) a1-3) 49152.0) (not (-> s5-0 flying))) @@ -723,13 +679,9 @@ ) ) ) - (let ((s5-1 arg0)) - (when (if (type? s5-1 widow) - s5-1 - ) - (send-event arg0 'bomb-hit (-> self root trans) 1) - (go-virtual explode) - ) + (when (the-as process (as-type arg0 widow)) + (send-event arg0 'bomb-hit (-> self root trans) 1) + (go-virtual explode) ) ) (('fizzle) @@ -969,10 +921,10 @@ (defmethod widow-bomb-method-33 ((this widow-bomb)) (let ((gp-0 (new 'stack-no-clear 'matrix))) (set-vector! (-> gp-0 vector 1) 0.0 1.0 0.0 1.0) - (vector-! (-> gp-0 vector 2) (the-as vector (-> this impact trans)) (-> this impact trans 1)) - (vector-cross! (the-as vector (-> gp-0 vector)) (-> gp-0 vector 1) (-> gp-0 vector 2)) - (vector-normalize! (the-as vector (-> gp-0 vector)) 1.0) - (vector-cross! (-> gp-0 vector 2) (the-as vector (-> gp-0 vector)) (-> gp-0 vector 1)) + (vector-! (-> gp-0 vector 2) (-> this impact trans 0) (-> this impact trans 1)) + (vector-cross! (-> gp-0 vector 0) (-> gp-0 vector 1) (-> gp-0 vector 2)) + (vector-normalize! (-> gp-0 vector 0) 1.0) + (vector-cross! (-> gp-0 vector 2) (-> gp-0 vector 0) (-> gp-0 vector 1)) (vector<-cspace! (-> gp-0 trans) (-> this node-list data 3)) (set! (-> gp-0 vector 0 w) 0.0) (set! (-> gp-0 vector 1 w) 0.0) @@ -1073,7 +1025,7 @@ (-> self root trans) ) (set-time! (-> self state-time)) - (let ((gp-1 (vector-! (new 'stack-no-clear 'vector) (-> self root trans) (the-as vector (-> self traj))))) + (let ((gp-1 (vector-! (new 'stack-no-clear 'vector) (-> self root trans) (-> self traj initial-position)))) (set! (-> gp-1 y) 0.0) (vector-normalize! gp-1 12288.0) (vector+! gp-1 gp-1 (-> self root trans)) @@ -1090,7 +1042,7 @@ (-> self root trans) ) (set-time! (-> self state-time)) - (let ((gp-4 (vector-! (new 'stack-no-clear 'vector) (-> self root trans) (the-as vector (-> self traj))))) + (let ((gp-4 (vector-! (new 'stack-no-clear 'vector) (-> self root trans) (-> self traj initial-position)))) (set! (-> gp-4 y) 0.0) (vector-normalize! gp-4 4096.0) (vector+! gp-4 gp-4 (-> self root trans)) @@ -1255,12 +1207,12 @@ (the-as skeleton-group (art-group-get-by-name *level* "skel-widow-bomb" (the-as (pointer uint32) #f))) (the-as pair 0) ) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 712) self)) - (set! (-> self explode-part) (create-launch-control (-> *part-group-id-table* 711) self)) - (set! (-> self trail-part) (create-launch-control (-> *part-group-id-table* 722) self)) - (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! (-> self part) (create-launch-control group-widow-bomb-smoke self)) + (set! (-> self explode-part) (create-launch-control group-widow-bomb-explode self)) + (set! (-> self trail-part) (create-launch-control group-widow-bomb-trail self)) + (set! (-> self warning-glow-part) (create-launch-control group-widow-bomb-warning-glow self)) + (set! (-> self warning-spark-part) (create-launch-control group-widow-bomb-warning-sparks self)) + (set! (-> self skid-part) (create-launch-control group-widow-bomb-skid-sparks self)) (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)))) @@ -1497,32 +1449,18 @@ :event (behavior ((proc process) (argc int) (message symbol) (block event-message-block)) (case message (('attack) - (let ((gp-0 proc)) - (when (if (type? gp-0 widow-shot) - gp-0 - ) - (+! (-> self segs-shot) 1) - (damage-pillar) - (cond - ((>= (-> self segs-shot) 16) - (go-virtual break-it) - ) - ((time-elapsed? (-> self last-pillar-hit) (seconds 2)) - (process-spawn - part-tracker - :init part-tracker-init - (-> *part-group-id-table* 718) - 0 - #f - #f - self - 0 - :to *entity-pool* - ) - (set-time! (-> self last-pillar-hit)) - (sound-play "pillar-hit" :position (-> self root trans)) - ) - ) + (when (the-as process (as-type proc widow-shot)) + (+! (-> self segs-shot) 1) + (damage-pillar) + (cond + ((>= (-> self segs-shot) 16) + (go-virtual break-it) + ) + ((time-elapsed? (-> self last-pillar-hit) (seconds 2)) + (process-spawn part-tracker :init part-tracker-init group-widow-pillar-hit 0 #f #f self 0 :to *entity-pool*) + (set-time! (-> self last-pillar-hit)) + (sound-play "pillar-hit" :position (-> self root trans)) + ) ) ) ) @@ -1607,7 +1545,7 @@ (the-as pair 0) ) (transform-post) - (set! (-> this explode-part) (create-launch-control (-> *part-group-id-table* 719) this)) + (set! (-> this explode-part) (create-launch-control group-widow-pillar-fall this)) (set! (-> this last-pillar-hit) 0) (let ((v1-23 (-> this entity extra perm))) (logior! (-> v1-23 status) (entity-perm-status bit-5)) @@ -1670,41 +1608,7 @@ (tomb-boss-firepot-shrink-collision) (set! (-> self draw bounds w) 245760.0) (ja :group! tomb-boss-firepot-break-ja :num! min) - (let ((gp-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-1 - (let ((t9-4 (method-of-type part-tracker activate))) - (t9-4 - (the-as part-tracker gp-1) - *entity-pool* - (symbol->string (-> part-tracker symbol)) - (the-as pointer #x70004000) - ) - ) - (let ((t9-5 run-function-in-process) - (a0-4 gp-1) - (a1-4 part-tracker-init) - (a2-6 (-> *part-group-id-table* 720)) - (a3-1 0) - (t0-0 #f) - (t1-0 #f) - (t2-0 #f) - (t3-0 *launch-matrix*) - ) - (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 - a2-6 - a3-1 - t0-0 - t1-0 - t2-0 - t3-0 - ) - ) - (-> gp-1 ppointer) - ) - ) + (part-tracker-spawn :to *entity-pool* :group group-widow-firepot-shatter :mat-joint (-> self root trans)) ) :trans (behavior () (ja :num! (seek!)) @@ -1721,37 +1625,33 @@ :event (behavior ((proc process) (argc int) (message symbol) (block event-message-block)) (case message (('attack) - (let ((gp-0 proc)) - (when (if (type? gp-0 widow-shot) - (the-as widow-shot gp-0) - ) - (let ((v1-2 (the-as object (-> block param 1))) - (gp-1 (new 'stack-no-clear 'vector)) - ) - (cond - ((logtest? (attack-mask attacker-velocity) (-> (the-as attack-info v1-2) mask)) - (set! (-> gp-1 quad) (-> (the-as attack-info v1-2) attacker-velocity quad)) - ) - (else - (let* ((a3-1 (the-as object (-> block param 0))) - (a1-4 (-> (the-as touching-shapes-entry a3-1) head)) - ) - (get-intersect-point gp-1 a1-4 (-> self root) (the-as touching-shapes-entry a3-1)) - ) - (vector-! gp-1 (-> self root trans) gp-1) - ) + (when (as-type proc widow-shot) + (let ((v1-2 (the-as object (-> block param 1))) + (gp-1 (new 'stack-no-clear 'vector)) ) - (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 quat) s5-1) + (cond + ((logtest? (attack-mask attacker-velocity) (-> (the-as attack-info v1-2) mask)) + (set! (-> gp-1 quad) (-> (the-as attack-info v1-2) attacker-velocity quad)) + ) + (else + (let* ((a3-1 (the-as object (-> block param 0))) + (a1-4 (-> (the-as touching-shapes-entry a3-1) head)) + ) + (get-intersect-point gp-1 a1-4 (-> self root) (the-as touching-shapes-entry a3-1)) ) + (vector-! gp-1 (-> self root trans) gp-1) + ) + ) + (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! (-> s5-1 vector 0) (-> s5-1 vector 1) (-> s5-1 vector 2)) + (matrix->quaternion (-> self root quat) s5-1) ) ) - (go-virtual break-it) ) + (go-virtual break-it) ) ) ) @@ -1822,13 +1722,13 @@ (defmethod draw ((this hud-widow)) (set-hud-piece-position! (-> this sprites 1) (the int (+ 462.0 (* 130.0 (-> this offset)))) 350) - (set-as-offset-from! (the-as hud-sprite (-> this sprites)) (the-as vector4w (-> this sprites 1)) -32 0) - (set-as-offset-from! (-> this sprites 5) (the-as vector4w (-> this sprites 1)) -62 14) - (set-as-offset-from! (-> this sprites 6) (the-as vector4w (-> this sprites 1)) -32 14) + (set-as-offset-from! (-> this sprites 0) (-> this sprites 1 pos) -32 0) + (set-as-offset-from! (-> this sprites 5) (-> this sprites 1 pos) -62 14) + (set-as-offset-from! (-> this sprites 6) (-> this sprites 1 pos) -32 14) (let ((s5-0 (-> this values 0 current)) (f30-0 (* 0.01 (the float (-> this values 1 current)))) ) - (set-as-offset-from! (-> this sprites 4) (the-as vector4w (-> this sprites 1)) -92 15) + (set-as-offset-from! (-> this sprites 4) (-> this sprites 1 pos) -92 15) (cond ((= s5-0 1) (set! (-> this sprites 4 color x) 0) @@ -1852,7 +1752,7 @@ (set! (-> this sprites 4 scale-x) (* -7.25 f30-0)) ) (let ((f30-1 (* 0.01 (the float (-> this values 2 current))))) - (set-as-offset-from! (-> this sprites 3) (the-as vector4w (-> this sprites 1)) -84 4) + (set-as-offset-from! (-> this sprites 3) (-> this sprites 1 pos) -84 4) (cond ((< f30-1 0.5) (set! (-> this sprites 3 color x) 255) diff --git a/goal_src/jak2/levels/tomb/widow-more-extras.gc b/goal_src/jak2/levels/tomb/widow-more-extras.gc index aa935d677b..64ddffbb68 100644 --- a/goal_src/jak2/levels/tomb/widow-more-extras.gc +++ b/goal_src/jak2/levels/tomb/widow-more-extras.gc @@ -92,116 +92,29 @@ (let ((v1-2 (-> self look))) (cond ((or (zero? v1-2) (= v1-2 1) (= v1-2 2)) - (let ((s5-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-0 - (let ((t9-1 (method-of-type part-tracker activate))) - (t9-1 - (the-as part-tracker s5-0) - *entity-pool* - (symbol->string (-> part-tracker symbol)) - (the-as pointer #x70004000) - ) - ) - (let ((t9-2 run-function-in-process) - (a0-8 s5-0) - (a1-7 part-tracker-init) - (a2-5 (-> *part-group-id-table* 734)) - (a3-2 5) - (t0-0 #f) - (t1-0 #f) - (t2-0 #f) - (t3-0 *launch-matrix*) - ) - (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 - a2-5 - a3-2 - t0-0 - t1-0 - t2-0 - t3-0 - ) - ) - (-> s5-0 ppointer) - ) + (part-tracker-spawn + :to *entity-pool* + :group group-widow-hit-by-big-debris + :duration 5 + :mat-joint (-> self root trans) ) (send-event proc 'debris-hit 1) ) ((or (= v1-2 3) (= v1-2 4) (= v1-2 5)) - (let ((s5-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-1 - (let ((t9-5 (method-of-type part-tracker activate))) - (t9-5 - (the-as part-tracker s5-1) - *entity-pool* - (symbol->string (-> part-tracker symbol)) - (the-as pointer #x70004000) - ) - ) - (let ((t9-6 run-function-in-process) - (a0-16 s5-1) - (a1-13 part-tracker-init) - (a2-10 (-> *part-group-id-table* 735)) - (a3-4 5) - (t0-1 #f) - (t1-1 #f) - (t2-1 #f) - (t3-1 *launch-matrix*) - ) - (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 - a2-10 - a3-4 - t0-1 - t1-1 - t2-1 - t3-1 - ) - ) - (-> s5-1 ppointer) - ) + (part-tracker-spawn + :to *entity-pool* + :group group-widow-hit-by-med-debris + :duration 5 + :mat-joint (-> self root trans) ) (send-event proc 'debris-hit 2) ) (else - (let ((s5-2 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-2 - (let ((t9-9 (method-of-type part-tracker activate))) - (t9-9 - (the-as part-tracker s5-2) - *entity-pool* - (symbol->string (-> part-tracker symbol)) - (the-as pointer #x70004000) - ) - ) - (let ((t9-10 run-function-in-process) - (a0-21 s5-2) - (a1-17 part-tracker-init) - (a2-15 (-> *part-group-id-table* 736)) - (a3-6 5) - (t0-2 #f) - (t1-2 #f) - (t2-2 #f) - (t3-2 *launch-matrix*) - ) - (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 - a2-15 - a3-6 - t0-2 - t1-2 - t2-2 - t3-2 - ) - ) - (-> s5-2 ppointer) - ) + (part-tracker-spawn + :to *entity-pool* + :group group-widow-hit-by-sml-debris + :duration 5 + :mat-joint (-> self root trans) ) (send-event proc 'debris-hit 3) ) @@ -408,7 +321,7 @@ ) (quaternion-axis-angle! (-> self rot) (sin f30-0) 0.0 (cos f30-0) f28-0) ) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 733) self)) + (set! (-> self part) (create-launch-control group-widow-debris-dust self)) (go-virtual idle) (none) ) @@ -476,11 +389,11 @@ ;; WARN: Return type mismatch object vs none. (defmethod init-from-entity! ((this cave-in-master) (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" + This commonly includes things such as: + - stack size + - collision information + - loading the skeleton group / bones + - sounds" (set! (-> this root) (new 'process 'trsqv)) (process-drawable-from-entity! this arg0) (set! (-> this path) (new 'process 'path-control this 'path 0.0 (the-as entity #f) #f)) @@ -492,7 +405,7 @@ This commonly includes things such as: (dotimes (v1-12 100) (set! (-> this prev-points v1-12) 0) ) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 737) this)) + (set! (-> this part) (create-launch-control group-widow-boss-pebble-drop this)) (go (method-of-object this wait)) (none) ) diff --git a/goal_src/jak2/levels/tomb/widow2.gc b/goal_src/jak2/levels/tomb/widow2.gc index bf36654e0c..293db9843c 100644 --- a/goal_src/jak2/levels/tomb/widow2.gc +++ b/goal_src/jak2/levels/tomb/widow2.gc @@ -91,6 +91,7 @@ ) (defmethod deactivate ((this widow)) + "Make a process dead, clean it up, remove it from the active pool, and return to dead pool." (if (nonzero? (-> this drill-spark-part)) (kill-and-free-particles (-> this drill-spark-part)) ) @@ -129,56 +130,56 @@ ) ;; WARN: Return type mismatch process-drawable vs widow. -(defmethod relocate ((this widow) (arg0 int)) +(defmethod relocate ((this widow) (offset int)) (if (nonzero? (-> this left-cover-jm)) - (&+! (-> this left-cover-jm) arg0) + (&+! (-> this left-cover-jm) offset) ) (if (nonzero? (-> this right-cover-jm)) - (&+! (-> this right-cover-jm) arg0) + (&+! (-> this right-cover-jm) offset) ) (if (nonzero? (-> this left-drill-jm)) - (&+! (-> this left-drill-jm) arg0) + (&+! (-> this left-drill-jm) offset) ) (if (nonzero? (-> this right-drill-jm)) - (&+! (-> this right-drill-jm) arg0) + (&+! (-> this right-drill-jm) offset) ) (if (nonzero? (-> this drill-spark-part)) - (&+! (-> this drill-spark-part) arg0) + (&+! (-> this drill-spark-part) offset) ) (if (nonzero? (-> this drill-spark-part-alt)) - (&+! (-> this drill-spark-part-alt) arg0) + (&+! (-> this drill-spark-part-alt) offset) ) (if (nonzero? (-> this extract-stone-part)) - (&+! (-> this extract-stone-part) arg0) + (&+! (-> this extract-stone-part) offset) ) (if (nonzero? (-> this insert-stone-part)) - (&+! (-> this insert-stone-part) arg0) + (&+! (-> this insert-stone-part) offset) ) (if (nonzero? (-> this land-part)) - (&+! (-> this land-part) arg0) + (&+! (-> this land-part) offset) ) (if (nonzero? (-> this green-charge-part)) - (&+! (-> this green-charge-part) arg0) + (&+! (-> this green-charge-part) offset) ) (if (nonzero? (-> this green-fire-part)) - (&+! (-> this green-fire-part) arg0) + (&+! (-> this green-fire-part) offset) ) (dotimes (v1-44 5) (if (nonzero? (-> this lightning v1-44)) - (&+! (-> this lightning v1-44) arg0) + (&+! (-> this lightning v1-44) offset) ) ) - (the-as widow ((method-of-type process-drawable relocate) this arg0)) + (the-as widow ((method-of-type process-drawable relocate) this offset)) ) ;; WARN: Return type mismatch object vs none. (defmethod init-from-entity! ((this widow) (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" + This commonly includes things such as: + - stack size + - collision information + - loading the skeleton group / bones + - sounds" (let ((s4-0 (new 'process 'collide-shape-moving this (collide-list-enum usually-hit-by-player)))) (set! (-> s4-0 dynam) (copy *standard-dynamics* 'process)) (set! (-> s4-0 reaction) cshape-reaction-default) @@ -309,15 +310,15 @@ This commonly includes things such as: ) (set! (-> this pod) (ppointer->handle (process-spawn baron-pod (-> this root trans) :to this))) (set! (-> this heart) (the-as handle #f)) - (set! (-> this drill-spark-part) (create-launch-control (-> *part-group-id-table* 713) this)) - (set! (-> this drill-spark-part-alt) (create-launch-control (-> *part-group-id-table* 714) this)) + (set! (-> this drill-spark-part) (create-launch-control group-widow-drilling-sparks this)) + (set! (-> this drill-spark-part-alt) (create-launch-control group-widow-drilling-sparks-alt this)) (set! (-> this extract-stone-time) 0) - (set! (-> this extract-stone-part) (create-launch-control (-> *part-group-id-table* 715) this)) + (set! (-> this extract-stone-part) (create-launch-control group-widow-extract-stone this)) (set! (-> this insert-stone-time) 0) - (set! (-> this insert-stone-part) (create-launch-control (-> *part-group-id-table* 716) this)) - (set! (-> this land-part) (create-launch-control (-> *part-group-id-table* 730) this)) - (set! (-> this green-charge-part) (create-launch-control (-> *part-group-id-table* 731) this)) - (set! (-> this green-fire-part) (create-launch-control (-> *part-group-id-table* 732) this)) + (set! (-> this insert-stone-part) (create-launch-control group-widow-insert-stone this)) + (set! (-> this land-part) (create-launch-control group-widow-land this)) + (set! (-> this green-charge-part) (create-launch-control group-widow-green-gun-charge this)) + (set! (-> this green-fire-part) (create-launch-control group-widow-green-gun-fire this)) (add-connection *part-engine* this 73 this 3251 (new 'static 'vector :w 819200.0)) (add-connection *part-engine* this 77 this 3251 (new 'static 'vector :w 819200.0)) (add-connection *part-engine* this 78 this 3251 (new 'static 'vector :w 819200.0)) diff --git a/goal_src/jak2/levels/under/under-obs.gc b/goal_src/jak2/levels/under/under-obs.gc index dbea6dffed..1b70c29f25 100644 --- a/goal_src/jak2/levels/under/under-obs.gc +++ b/goal_src/jak2/levels/under/under-obs.gc @@ -371,7 +371,7 @@ - sounds" (set! (-> this root) (new 'process 'trsqv)) (process-drawable-from-entity! this arg0) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 500) this)) + (set! (-> this part) (create-launch-control group-bubbler-streams this)) (set! (-> this rod-of-god-scale) 1.0) (set! (-> this ambient-id) (sound-play "bubbler" :position (-> this root trans))) (go (method-of-object this idle)) @@ -1053,7 +1053,7 @@ ((= arg1 (+ (-> this num-joints) -1)) (let ((v1-4 (new 'stack-no-clear 'vector))) (set! (-> v1-4 quad) (-> arg2 entity trans quad)) - (vector-! v1-4 v1-4 (the-as vector (-> this chain-joints arg1))) + (vector-! v1-4 v1-4 (-> this chain-joints arg1 position)) (vector+float*! arg0 arg0 v1-4 1.0) ) ) @@ -1069,7 +1069,7 @@ (set! (-> v1-7 quad) (-> this chain-joints (+ arg1 1) position quad)) ) ) - (vector-! v1-7 v1-7 (the-as vector (-> this chain-joints arg1))) + (vector-! v1-7 v1-7 (-> this chain-joints arg1 position)) (.lvf vf1 (&-> v1-7 quad)) (.add.w.vf.x vf2 vf0 vf0) (.mul.vf vf1 vf1 vf1) @@ -1092,7 +1092,7 @@ ) ) ) - (vector-! v1-11 v1-11 (the-as vector (-> this chain-joints arg1))) + (vector-! v1-11 v1-11 (-> this chain-joints arg1 position)) (.lvf vf1 (&-> v1-11 quad)) (.add.w.vf.x vf2 vf0 vf0) (.mul.vf vf1 vf1 vf1) @@ -1215,7 +1215,7 @@ ) (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 group) group-under-mine-explode) (set! (-> gp-0 collide-with) (collide-spec backgnd jak crate civilian enemy obstacle vehicle-sphere hit-by-others-list player-list pusher) ) @@ -1309,7 +1309,7 @@ (gp-1 (quaternion->matrix (new 'stack-no-clear 'matrix) (-> self head-mod quat))) ) (dotimes (v1-27 (min 8 (the-as int (-> self chain num-joints)))) - (vector+! s5-1 s5-1 (the-as vector (-> self chain chain-joints v1-27))) + (vector+! s5-1 s5-1 (-> self chain chain-joints v1-27 position)) ) (vector-float*! s5-1 s5-1 (/ 1.0 (the float (min 8 (the-as int (-> self chain num-joints)))))) (vector-! @@ -1453,12 +1453,7 @@ (defmethod commited-to-ride? ((this under-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 - ) - ) - ) + (let ((a0-2 (the-as target (as-type *target* process-focusable)))) (when a0-2 (let* ((v1-1 (get-trans a0-2 0)) (gp-2 (vector-! (new 'stack-no-clear 'vector) v1-1 (-> this root trans))) @@ -2029,12 +2024,8 @@ ) (defmethod draw ((this hud-mech-air-tank)) - (set-hud-piece-position! - (the-as hud-sprite (-> this sprites)) - (the int (+ 472.0 (* 100.0 (-> this offset)))) - 208 - ) - (set-as-offset-from! (-> this sprites 1) (the-as vector4w (-> this sprites)) 0 51) + (set-hud-piece-position! (-> this sprites 0) (the int (+ 472.0 (* 100.0 (-> this offset)))) 208) + (set-as-offset-from! (-> this sprites 1) (-> this sprites 0 pos) 0 51) (set! (-> this sprites 0 scale-x) 0.8) (set! (-> this sprites 0 scale-y) 0.8) (set! (-> this sprites 1 scale-x) 0.8) @@ -2043,8 +2034,8 @@ (set! (-> this sprites 3 scale-y) 0.8) (set! (-> this sprites 2 scale-x) 3.2) (set! (-> this sprites 2 scale-y) (* 4.56 (- 1.0 (-> *game-info* air-supply)))) - (set-as-offset-from! (-> this sprites 2) (the-as vector4w (-> this sprites)) 0 2) - (set-as-offset-from! (-> this sprites 3) (the-as vector4w (-> this sprites)) -30 -20) + (set-as-offset-from! (-> this sprites 2) (-> this sprites 0 pos) 0 2) + (set-as-offset-from! (-> this sprites 3) (-> this sprites 0 pos) -30 -20) ((method-of-type hud draw) this) 0 (none) diff --git a/goal_src/jak2/levels/under/under-scenes.gc b/goal_src/jak2/levels/under/under-scenes.gc index ee3d089bd0..d2aab0a335 100644 --- a/goal_src/jak2/levels/under/under-scenes.gc +++ b/goal_src/jak2/levels/under/under-scenes.gc @@ -563,41 +563,7 @@ (defbehavior under-sig-red-shot-overhead scene-player ((arg0 process-tree) (arg1 vector) (arg2 sparticle-launch-state)) (when (not (-> self aborted?)) - (let ((part (get-process *default-dead-pool* part-tracker #x4000))) - (when part - (let ((activate-func (method-of-type part-tracker activate))) - (activate-func - (the-as part-tracker part) - arg0 - (symbol->string (-> part-tracker symbol)) - (the-as pointer #x70004000) - ) - ) - (let ((t9-2 run-function-in-process) - (a0-3 part) - (a1-5 part-tracker-init) - (a2-3 (-> *part-group-id-table* 518)) - (a3-1 0) - (t0-0 #f) - (t1-0 #f) - (t2-0 #f) - (t3-0 *launch-matrix*) - ) - (set! (-> t3-0 trans quad) (-> arg1 quad)) - ((the-as (function object object object object object object object object none) t9-2) - a0-3 - a1-5 - a2-3 - a3-1 - t0-0 - t1-0 - t2-0 - t3-0 - ) - ) - (-> part ppointer) - ) - ) + (part-tracker-spawn :to arg0 :group under-sig-shot-overhead-starflash :mat-joint arg1) (draw-beam (-> *part-id-table* 2291) arg1 (-> arg2 sprite rot-syvel) #f #t) (draw-beam (-> *part-id-table* 2292) arg1 (-> arg2 sprite rot-syvel) #f #t) ) @@ -624,7 +590,7 @@ (let ((t9-4 run-function-in-process) (a0-7 part) (a1-6 part-tracker-init) - (a2-5 (-> *part-group-id-table* 146)) + (a2-5 group-sig-shot-hit) (a3-2 0) (t0-1 #f) (t1-0 #f) diff --git a/goal_src/jak2/levels/under/under-shoot-block.gc b/goal_src/jak2/levels/under/under-shoot-block.gc index 892e9f4c11..4240f8eacf 100644 --- a/goal_src/jak2/levels/under/under-shoot-block.gc +++ b/goal_src/jak2/levels/under/under-shoot-block.gc @@ -1215,7 +1215,7 @@ (set! (-> s5-2 spawn-point quad) (-> this root trans quad)) (quaternion-copy! (-> s5-2 spawn-quat) (-> this root quat)) (set! (-> s5-2 radius) 16384.0) - (set! (-> s5-2 group) (-> *part-group-id-table* 497)) + (set! (-> s5-2 group) group-shoot-block-explode) (set! (-> s5-2 collide-with) (collide-spec jak bot player-list)) (set! (-> s5-2 penetrate-using) (penetrate explode)) (explosion-spawn this explosion s5-2) @@ -1344,13 +1344,9 @@ (+ 8192.0 (* 16384.0 (the float (-> self row)))) 1.0 ) - (vector-matrix*! - (the-as vector (-> gp-1 vector)) - (the-as vector (-> gp-1 vector)) - (-> self puzzle local-to-world) - ) + (vector-matrix*! (-> gp-1 vector 0) (-> gp-1 vector 0) (-> self puzzle local-to-world)) (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)) + (vector-! (-> self rot-axis) (-> gp-1 vector 0) (-> gp-1 vector 1)) (set! (-> self rot-axis y) 0.0) (vector-normalize! (-> self rot-axis) 1.0) (vector-rotate90-around-y! (-> self rot-axis) (-> self rot-axis)) @@ -1365,7 +1361,7 @@ (let ((f30-0 (fmin 1.0 (* 0.022222223 (the float (- (current-time) (-> self state-time))))))) (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) + (vector-lerp! (-> s5-1 trans) (-> gp-1 vector 1) (-> gp-1 vector 0) f30-0) (set! (-> s5-1 trans y) (+ -8192.0 (* 11585.237 (sin (lerp 8192.0 24576.0 f30-0))) (-> s5-1 trans y))) (vector-! (-> s5-1 transv) (-> s5-1 trans) (-> s5-1 transv)) (let ((v1-17 (-> s5-1 transv))) @@ -1429,13 +1425,9 @@ 1.0 ) ) - (vector-matrix*! - (the-as vector (-> gp-1 vector)) - (the-as vector (-> gp-1 vector)) - (-> self puzzle local-to-world) - ) + (vector-matrix*! (-> gp-1 vector 0) (-> gp-1 vector 0) (-> self puzzle local-to-world)) (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)) + (vector-! (-> self rot-axis) (-> gp-1 vector 0) (-> gp-1 vector 1)) (set! (-> self rot-axis y) 0.0) (vector-normalize! (-> self rot-axis) 1.0) (vector-rotate90-around-y! (-> self rot-axis) (-> self rot-axis)) @@ -1450,7 +1442,7 @@ (let ((f30-0 (fmin 1.0 (* 0.0074074073 (the float (- (current-time) (-> self state-time))))))) (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) + (vector-lerp! (-> s5-1 trans) (-> gp-1 vector 1) (-> gp-1 vector 0) f30-0) (set! (-> s5-1 trans y) (+ -8192.0 (* 11585.237 (sin (lerp 8192.0 24576.0 f30-0))) (-> s5-1 trans y))) (quaternion-slerp! (-> s5-1 quat) @@ -1475,7 +1467,7 @@ (f30-1 (fmax 0.0 (- 0.15 f1-9))) ) (set! (-> s5-2 transv quad) (-> s5-2 trans quad)) - (vector-lerp! (-> s5-2 trans) (-> gp-1 vector 1) (the-as vector (-> gp-1 vector)) f30-1) + (vector-lerp! (-> s5-2 trans) (-> gp-1 vector 1) (-> gp-1 vector 0) f30-1) (set! (-> s5-2 trans y) (+ -8192.0 (* 11585.237 (sin (lerp 8192.0 24576.0 f30-1))) (-> s5-2 trans y))) (quaternion-slerp! (-> s5-2 quat) @@ -1788,7 +1780,7 @@ (set-vector! (-> gp-0 vector 1) -8192.0 0.0 8192.0 1.0) (set-vector! (-> gp-0 vector 2) 8192.0 0.0 8192.0 1.0) (set-vector! (-> gp-0 trans) 8192.0 0.0 -8192.0 1.0) - (vector-float*! (the-as vector (-> gp-0 vector)) (the-as vector (-> gp-0 vector)) arg2) + (vector-float*! (-> gp-0 vector 0) (-> gp-0 vector 0) arg2) (vector-float*! (-> gp-0 vector 1) (-> gp-0 vector 1) arg2) (vector-float*! (-> gp-0 vector 2) (-> gp-0 vector 2) arg2) (vector-float*! (-> gp-0 trans) (-> gp-0 trans) arg2) @@ -1798,12 +1790,12 @@ (set! (-> v1-12 vector 0 z) (+ 8192.0 (* 16384.0 (the float arg1)))) (set! (-> v1-12 vector 0 w) 1.0) ) - (vector+! (the-as vector (-> gp-0 vector)) (the-as vector (-> gp-0 vector)) (the-as vector (&+ gp-0 64))) + (vector+! (-> gp-0 vector 0) (-> gp-0 vector 0) (the-as vector (&+ gp-0 64))) (vector+! (-> gp-0 vector 1) (-> gp-0 vector 1) (the-as vector (&+ gp-0 64))) (vector+! (-> gp-0 vector 2) (-> gp-0 vector 2) (the-as vector (&+ gp-0 64))) (vector+! (-> gp-0 trans) (-> gp-0 trans) (the-as vector (&+ gp-0 64))) (let ((s4-0 (-> this puzzle local-to-world))) - (vector-matrix*! (the-as vector (-> gp-0 vector)) (the-as vector (-> gp-0 vector)) s4-0) + (vector-matrix*! (-> gp-0 vector 0) (-> gp-0 vector 0) s4-0) (vector-matrix*! (-> gp-0 vector 1) (-> gp-0 vector 1) s4-0) (vector-matrix*! (-> gp-0 vector 2) (-> gp-0 vector 2) s4-0) (vector-matrix*! (-> gp-0 trans) (-> gp-0 trans) s4-0) @@ -1811,7 +1803,7 @@ (add-debug-line #t (bucket-id debug-no-zbuf1) - (the-as vector (-> gp-0 vector)) + (-> gp-0 vector 0) (-> gp-0 vector 1) (the-as rgba arg3) #f @@ -1839,7 +1831,7 @@ #t (bucket-id debug-no-zbuf1) (-> gp-0 trans) - (the-as vector (-> gp-0 vector)) + (-> gp-0 vector 0) (the-as rgba arg3) #f (the-as rgba -1) diff --git a/goal_src/jak2/levels/under/underb-master.gc b/goal_src/jak2/levels/under/underb-master.gc index c3e4f350c9..bc4ea597ad 100644 --- a/goal_src/jak2/levels/under/underb-master.gc +++ b/goal_src/jak2/levels/under/underb-master.gc @@ -1068,8 +1068,8 @@ (set! (-> this actor-group) (the-as (pointer actor-group) #f)) ) ) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 498) this)) - (set! (-> this draining-part) (create-launch-control (-> *part-group-id-table* 499) this)) + (set! (-> this part) (create-launch-control group-under-locking-fill this)) + (set! (-> this draining-part) (create-launch-control group-under-locking-drain this)) (go (method-of-object this startup)) (none) ) diff --git a/goal_src/jak3/engine/ai/enemy.gc b/goal_src/jak3/engine/ai/enemy.gc index 46ab233b98..5af3d00c94 100644 --- a/goal_src/jak3/engine/ai/enemy.gc +++ b/goal_src/jak3/engine/ai/enemy.gc @@ -214,13 +214,13 @@ (vector-copy! v1-9 (-> this root trans)) (set! (-> v1-9 y) (+ 409.6 (-> s5-0 trans y))) (cond - ((logtest? (-> *part-group-id-table* 192 flags) (sp-group-flag sp13)) + ((logtest? (-> group-part-water-splash flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) v1-9) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 192)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-part-water-splash) ) (else (vector-copy! (-> *launch-matrix* trans) v1-9) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 192)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-part-water-splash) ) ) ) diff --git a/goal_src/jak3/engine/common-obs/collectables.gc b/goal_src/jak3/engine/common-obs/collectables.gc index 5da16cd923..5ab4ee6807 100644 --- a/goal_src/jak3/engine/common-obs/collectables.gc +++ b/goal_src/jak3/engine/common-obs/collectables.gc @@ -241,27 +241,27 @@ ) (case arg0 (((pickup-type eco-yellow)) - (set! s5-0 (-> *part-group-id-table* 164)) - (set! (-> this collect-effect) (-> *part-group-id-table* 170)) - (set! (-> this collect-effect2) (-> *part-group-id-table* 165)) + (set! s5-0 group-eco-yellow) + (set! (-> this collect-effect) group-yellow-collect) + (set! (-> this collect-effect2) group-eco-yellow-collect) (set! s4-0 (static-sound-spec "yel-eco-idle" :group 0 :fo-max 15)) ) (((pickup-type eco-red)) - (set! s5-0 (-> *part-group-id-table* 158)) - (set! (-> this collect-effect) (-> *part-group-id-table* 171)) - (set! (-> this collect-effect2) (-> *part-group-id-table* 159)) + (set! s5-0 group-eco-red) + (set! (-> this collect-effect) group-red-collect) + (set! (-> this collect-effect2) group-eco-red-collect) (set! s4-0 (static-sound-spec "red-eco-idle" :group 0 :fo-max 15)) ) (((pickup-type eco-blue)) - (set! s5-0 (-> *part-group-id-table* 154)) - (set! (-> this collect-effect) (-> *part-group-id-table* 169)) - (set! (-> this collect-effect2) (-> *part-group-id-table* 155)) + (set! s5-0 group-eco-blue) + (set! (-> this collect-effect) group-blue-collect) + (set! (-> this collect-effect2) group-eco-blue-collect) (set! s4-0 (static-sound-spec "blue-eco-idle" :group 0 :fo-max 15)) ) (((pickup-type eco-green)) - (set! s5-0 (-> *part-group-id-table* 129)) - (set! (-> this collect-effect) (-> *part-group-id-table* 141)) - (set! (-> this collect-effect2) (-> *part-group-id-table* 124)) + (set! s5-0 group-eco-green) + (set! (-> this collect-effect) group-green-collect) + (set! (-> this collect-effect2) group-eco-green-collect) (set! s4-0 (static-sound-spec "green-eco-idle" :group 0 :fo-max 15)) ) (((pickup-type health)) @@ -274,21 +274,21 @@ (set! (-> v1-37 y) 2457.6) (set! (-> v1-37 w) 4096.0) ) - (set! (-> this collect-effect) (-> *part-group-id-table* 141)) - (set! (-> this collect-effect2) (-> *part-group-id-table* 124)) + (set! (-> this collect-effect) group-green-collect) + (set! (-> this collect-effect2) group-eco-green-collect) (set! s4-0 (static-sound-spec "green-eco-idle" :group 0 :fo-max 15)) ) (((pickup-type eco-pill-green)) - (set! s5-0 (-> *part-group-id-table* 125)) - (set! (-> this collect-effect2) (-> *part-group-id-table* 126)) + (set! s5-0 group-eco-green-pill) + (set! (-> this collect-effect2) group-eco-green-pill-collect) ) (((pickup-type eco-pill-dark)) - (set! s5-0 (-> *part-group-id-table* 128)) - (set! (-> this collect-effect) (-> *part-group-id-table* 140)) + (set! s5-0 group-eco-dark-pill) + (set! (-> this collect-effect) group-eco-dark-pill-collect) ) (((pickup-type eco-pill-light)) - (set! s5-0 (-> *part-group-id-table* 127)) - (set! (-> this collect-effect) (-> *part-group-id-table* 127)) + (set! s5-0 group-eco-light-pill) + (set! (-> this collect-effect) group-eco-light-pill) ) ) (if s5-0 @@ -1862,8 +1862,8 @@ ) (set-vector! (-> this draw color-mult) 0.8 0.8 0.8 1.0) (set-vector! (-> this draw color-emissive) 0.2 0.2 0.2 1.0) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 134) this)) - (set! (-> this collect-effect) (-> *part-group-id-table* 135)) + (set! (-> this part) (create-launch-control group-gem-glow this)) + (set! (-> this collect-effect) group-gem-collect) (set! (-> this gem-pool) (the-as uint 0)) 0 (none) @@ -1956,12 +1956,12 @@ ((>= (-> this pickup-amount) (-> *FACT-bank* super-skill-inc)) (set-vector! (-> this draw color-mult) 0.8 0.8 0.0 1.0) (set-vector! (-> this draw color-emissive) 0.0 1.0 0.2 1.0) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 133) this)) + (set! (-> this part) (create-launch-control group-skill-glow-yellow this)) ) (else (set-vector! (-> this draw color-mult) 0.8 0.8 0.8 1.0) (set-vector! (-> this draw color-emissive) 0.2 0.2 0.2 1.0) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 132) this)) + (set! (-> this part) (create-launch-control group-skill-glow-red this)) ) ) 0 @@ -2010,8 +2010,8 @@ (set! (-> this notify) (the-as handle #f)) (set! (-> this root pause-adjust-distance) 204800.0) (set! (-> this fact) (new 'process 'fact-info this (pickup-type trick-point) 100.0)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 142) this)) - (set! (-> this collect-effect) (-> *part-group-id-table* 143)) + (set! (-> this part) (create-launch-control group-skate-point this)) + (set! (-> this collect-effect) group-skate-point-explode) 0 (none) ) @@ -2067,16 +2067,16 @@ (set! (-> this fact) (new 'process 'fact-info this (-> this pickup-type) (-> this pickup-amount))) (case (-> this pickup-type) (((pickup-type ammo-yellow)) - (set! (-> this collect-effect) (-> *part-group-id-table* 136)) + (set! (-> this collect-effect) group-ammo-yellow-collect) ) (((pickup-type ammo-red)) - (set! (-> this collect-effect) (-> *part-group-id-table* 137)) + (set! (-> this collect-effect) group-ammo-red-collect) ) (((pickup-type ammo-blue)) - (set! (-> this collect-effect) (-> *part-group-id-table* 138)) + (set! (-> this collect-effect) group-ammo-blue-collect) ) (((pickup-type ammo-dark)) - (set! (-> this collect-effect) (-> *part-group-id-table* 139)) + (set! (-> this collect-effect) group-ammo-dark-collect) ) ) 0 @@ -2094,7 +2094,7 @@ (the-as pair 0) ) (set-vector! (-> this root scale) 2.5 2.5 2.5 1.0) - (set! (-> this ammo-effect) (-> *part-group-id-table* 164)) + (set! (-> this ammo-effect) group-eco-yellow) ) (((pickup-type ammo-red)) (initialize-skeleton @@ -2103,7 +2103,7 @@ (the-as pair 0) ) (set-vector! (-> this root scale) 4.0 4.0 4.0 1.0) - (set! (-> this ammo-effect) (-> *part-group-id-table* 158)) + (set! (-> this ammo-effect) group-eco-red) ) (((pickup-type ammo-blue)) (initialize-skeleton @@ -2112,7 +2112,7 @@ (the-as pair 0) ) (set-vector! (-> this root scale) 4.0 4.0 4.0 1.0) - (set! (-> this ammo-effect) (-> *part-group-id-table* 154)) + (set! (-> this ammo-effect) group-eco-blue) ) (((pickup-type ammo-dark)) (initialize-skeleton @@ -2121,7 +2121,7 @@ (the-as pair 0) ) (set-vector! (-> this root scale) 3.0 3.0 3.0 1.0) - (set! (-> this ammo-effect) (-> *part-group-id-table* 129)) + (set! (-> this ammo-effect) group-eco-green) ) (((pickup-type gun-yellow-1) (pickup-type gun-yellow-2) (pickup-type gun-yellow-3)) (initialize-skeleton @@ -2168,7 +2168,7 @@ (logclear! (-> this flags) (collectable-flag fadeout)) ) (((pickup-type shield)) - (set! (-> this ammo-effect) (-> *part-group-id-table* 125)) + (set! (-> this ammo-effect) group-eco-green-pill) ) (((pickup-type trick-point)) ) diff --git a/goal_src/jak3/engine/common-obs/crates.gc b/goal_src/jak3/engine/common-obs/crates.gc index b98fcc23c7..ed9a008257 100644 --- a/goal_src/jak3/engine/common-obs/crates.gc +++ b/goal_src/jak3/engine/common-obs/crates.gc @@ -950,35 +950,35 @@ (cond ((= v1-55 'darkeco) (cond - ((logtest? (-> *part-group-id-table* 197 flags) (sp-group-flag sp13)) + ((logtest? (-> group-dark-eco-box-explosion flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to self :group (-> *part-group-id-table* 197)) + (part-tracker-spawn part-tracker-subsampler :to self :group group-dark-eco-box-explosion) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 197)) + (part-tracker-spawn part-tracker :to self :group group-dark-eco-box-explosion) ) ) ) ((or (= v1-55 'steel) (= v1-55 'iron)) (cond - ((logtest? (-> *part-group-id-table* 196 flags) (sp-group-flag sp13)) + ((logtest? (-> group-crate-steel-explode flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to self :group (-> *part-group-id-table* 196)) + (part-tracker-spawn part-tracker-subsampler :to self :group group-crate-steel-explode) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 196)) + (part-tracker-spawn part-tracker :to self :group group-crate-steel-explode) ) ) ) - ((logtest? (-> *part-group-id-table* 195 flags) (sp-group-flag sp13)) + ((logtest? (-> group-crate-explode flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to self :group (-> *part-group-id-table* 195)) + (part-tracker-spawn part-tracker-subsampler :to self :group group-crate-explode) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 195)) + (part-tracker-spawn part-tracker :to self :group group-crate-explode) ) ) ) diff --git a/goal_src/jak3/engine/common-obs/generic-obs.gc b/goal_src/jak3/engine/common-obs/generic-obs.gc index f82c14b0dc..c73952c990 100644 --- a/goal_src/jak3/engine/common-obs/generic-obs.gc +++ b/goal_src/jak3/engine/common-obs/generic-obs.gc @@ -2630,13 +2630,13 @@ (set! (-> this part) (create-launch-control (cond ((= v1-14 'beach) - (-> *part-group-id-table* 7) + group-beach-launcher ) ((= v1-14 'swamp) - (-> *part-group-id-table* 9) + group-swamp-launcher ) (else - (-> *part-group-id-table* 8) + group-jungle-launcher ) ) this @@ -2696,13 +2696,13 @@ (set! (-> self part) (create-launch-control (cond ((= v1-18 'beach) - (-> *part-group-id-table* 7) + group-beach-launcher ) ((= v1-18 'swamp) - (-> *part-group-id-table* 9) + group-swamp-launcher ) (else - (-> *part-group-id-table* 8) + group-jungle-launcher ) ) self diff --git a/goal_src/jak3/engine/common-obs/guard-projectile.gc b/goal_src/jak3/engine/common-obs/guard-projectile.gc index fe4d84a49c..af665b7189 100644 --- a/goal_src/jak3/engine/common-obs/guard-projectile.gc +++ b/goal_src/jak3/engine/common-obs/guard-projectile.gc @@ -378,23 +378,23 @@ (cond ((-> this hit-actor?) (cond - ((logtest? (-> *part-group-id-table* 211 flags) (sp-group-flag sp13)) + ((logtest? (-> group-guard-shot-hit-object flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) v1-1) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 211)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-guard-shot-hit-object) ) (else (vector-copy! (-> *launch-matrix* trans) v1-1) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 211)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-guard-shot-hit-object) ) ) ) - ((logtest? (-> *part-group-id-table* 212 flags) (sp-group-flag sp13)) + ((logtest? (-> group-guard-shot-hit flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) v1-1) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 212)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-guard-shot-hit) ) (else (vector-copy! (-> *launch-matrix* trans) v1-1) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 212)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-guard-shot-hit) ) ) ) diff --git a/goal_src/jak3/engine/common-obs/metalhead-projectile.gc b/goal_src/jak3/engine/common-obs/metalhead-projectile.gc index 44b3b6ca50..40d41cd6f3 100644 --- a/goal_src/jak3/engine/common-obs/metalhead-projectile.gc +++ b/goal_src/jak3/engine/common-obs/metalhead-projectile.gc @@ -371,13 +371,13 @@ (vector-copy! v1-2 (-> gp-0 trans)) (vector+! v1-2 v1-2 a0-3) (cond - ((logtest? (-> *part-group-id-table* 214 flags) (sp-group-flag sp13)) + ((logtest? (-> group-metalhead-shot-hit flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) v1-2) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 214)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-metalhead-shot-hit) ) (else (vector-copy! (-> *launch-matrix* trans) v1-2) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 214)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-metalhead-shot-hit) ) ) ) @@ -616,13 +616,13 @@ (defmethod projectile-method-26 ((this metalhead-grenade-shot)) (cond - ((logtest? (-> *part-group-id-table* 104 flags) (sp-group-flag sp13)) + ((logtest? (-> group-gun-dark-shot-hit flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> this root trans)) - (part-tracker-spawn part-tracker-subsampler :to this :group (-> *part-group-id-table* 104)) + (part-tracker-spawn part-tracker-subsampler :to this :group group-gun-dark-shot-hit) ) (else (vector-copy! (-> *launch-matrix* trans) (-> this root trans)) - (part-tracker-spawn part-tracker :to this :group (-> *part-group-id-table* 104)) + (part-tracker-spawn part-tracker :to this :group group-gun-dark-shot-hit) ) ) 0 @@ -824,7 +824,7 @@ (let ((f0-5 1092.2667)) (quaternion-axis-angle! (-> this tumble-quat) 1.0 0.0 0.0 f0-5) ) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 216) this)) + (set! (-> this part) (create-launch-control group-metalhead-grenade-shot this)) (set! (-> this sound-id) (new-sound-id)) (none) ) diff --git a/goal_src/jak3/engine/common-obs/ragdoll-test.gc b/goal_src/jak3/engine/common-obs/ragdoll-test.gc index d8ed53f584..633d8bfcf2 100644 --- a/goal_src/jak3/engine/common-obs/ragdoll-test.gc +++ b/goal_src/jak3/engine/common-obs/ragdoll-test.gc @@ -49,6 +49,76 @@ ) ) +(define *target-ragdoll-setup* (new 'static 'ragdoll-setup + :scale (new 'static 'vector :x 1.0 :y 1.0 :z 1.0) + :bg-collide-with (collide-spec backgnd player-list) + :joint-setup (new 'static 'boxed-array :type ragdoll-joint-setup + (new 'static 'ragdoll-joint-setup :joint-index 3 :parent-joint -1) + (new 'static 'ragdoll-joint-setup :joint-index 4 :parent-joint -1) + (new 'static 'ragdoll-joint-setup :joint-index 5 :parent-joint -1) + (new 'static 'ragdoll-joint-setup :joint-index 6 :parent-joint -1) + (new 'static 'ragdoll-joint-setup :joint-index 7 :parent-joint -1) + (new 'static 'ragdoll-joint-setup :joint-index 8 :parent-joint -1) + (new 'static 'ragdoll-joint-setup :joint-index 9 :parent-joint -1) + (new 'static 'ragdoll-joint-setup :joint-index 10 :parent-joint -1) + (new 'static 'ragdoll-joint-setup :joint-index 11 :parent-joint -1) + (new 'static 'ragdoll-joint-setup :joint-index 12 :parent-joint -1) + (new 'static 'ragdoll-joint-setup :joint-index 13 :parent-joint -1) + (new 'static 'ragdoll-joint-setup :joint-index 14 :parent-joint -1) + (new 'static 'ragdoll-joint-setup :joint-index 15 :parent-joint -1) + (new 'static 'ragdoll-joint-setup :joint-index 16 :parent-joint -1) + (new 'static 'ragdoll-joint-setup :joint-index 17 :parent-joint -1) + (new 'static 'ragdoll-joint-setup :joint-index 18 :parent-joint -1) + (new 'static 'ragdoll-joint-setup :joint-index 19 :parent-joint -1) + (new 'static 'ragdoll-joint-setup :joint-index 20 :parent-joint -1) + (new 'static 'ragdoll-joint-setup :joint-index 21 :parent-joint -1) + (new 'static 'ragdoll-joint-setup :joint-index 22 :parent-joint -1) + (new 'static 'ragdoll-joint-setup :joint-index 23 :parent-joint -1) + (new 'static 'ragdoll-joint-setup :joint-index 24 :parent-joint -1) + (new 'static 'ragdoll-joint-setup :joint-index 25 :parent-joint -1) + (new 'static 'ragdoll-joint-setup :joint-index 26 :parent-joint -1) + (new 'static 'ragdoll-joint-setup :joint-index 27 :parent-joint -1) + (new 'static 'ragdoll-joint-setup :joint-index 28 :parent-joint -1) + (new 'static 'ragdoll-joint-setup :joint-index 29 :parent-joint -1) + (new 'static 'ragdoll-joint-setup :joint-index 30 :parent-joint -1) + (new 'static 'ragdoll-joint-setup :joint-index 31 :parent-joint -1) + (new 'static 'ragdoll-joint-setup :joint-index 32 :parent-joint -1) + (new 'static 'ragdoll-joint-setup :joint-index 33 :parent-joint -1) + (new 'static 'ragdoll-joint-setup :joint-index 34 :parent-joint -1) + (new 'static 'ragdoll-joint-setup :joint-index 35 :parent-joint -1) + (new 'static 'ragdoll-joint-setup :joint-index 36 :parent-joint -1) + (new 'static 'ragdoll-joint-setup :joint-index 37 :parent-joint -1) + (new 'static 'ragdoll-joint-setup :joint-index 38 :parent-joint -1) + (new 'static 'ragdoll-joint-setup :joint-index 39 :parent-joint -1) + (new 'static 'ragdoll-joint-setup :joint-index 40 :parent-joint -1) + (new 'static 'ragdoll-joint-setup :joint-index 41 :parent-joint -1) + (new 'static 'ragdoll-joint-setup :joint-index 42 :parent-joint -1) + (new 'static 'ragdoll-joint-setup :joint-index 43 :parent-joint -1) + (new 'static 'ragdoll-joint-setup :joint-index 44 :parent-joint -1) + (new 'static 'ragdoll-joint-setup :joint-index 45 :parent-joint -1) + (new 'static 'ragdoll-joint-setup :joint-index 46 :parent-joint -1) + (new 'static 'ragdoll-joint-setup :joint-index 47 :parent-joint -1) + (new 'static 'ragdoll-joint-setup :joint-index 48 :parent-joint -1) + (new 'static 'ragdoll-joint-setup :joint-index 49 :parent-joint -1) + (new 'static 'ragdoll-joint-setup :joint-index 50 :parent-joint -1) + (new 'static 'ragdoll-joint-setup :joint-index 51 :parent-joint -1) + (new 'static 'ragdoll-joint-setup :joint-index 52 :parent-joint -1) + (new 'static 'ragdoll-joint-setup :joint-index 53 :parent-joint -1) + (new 'static 'ragdoll-joint-setup :joint-index 54 :parent-joint -1) + (new 'static 'ragdoll-joint-setup :joint-index 55 :parent-joint -1) + (new 'static 'ragdoll-joint-setup :joint-index 56 :parent-joint -1) + (new 'static 'ragdoll-joint-setup :joint-index 57 :parent-joint -1) + (new 'static 'ragdoll-joint-setup :joint-index 58 :parent-joint -1) + (new 'static 'ragdoll-joint-setup :joint-index 59 :parent-joint -1) + (new 'static 'ragdoll-joint-setup :joint-index 60 :parent-joint -1) + (new 'static 'ragdoll-joint-setup :joint-index 61 :parent-joint -1) + (new 'static 'ragdoll-joint-setup :joint-index 62 :parent-joint -1) + (new 'static 'ragdoll-joint-setup :joint-index 63 :parent-joint -1) + (new 'static 'ragdoll-joint-setup :joint-index 64 :parent-joint -1) + ) + ) + ) + (deftype ragdoll-test (process-focusable) ((ragdoll-proc handle) ) @@ -317,7 +387,7 @@ ) (let ((v1-6 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 0)))) (set! (-> v1-6 prim-core collide-as) (collide-spec enemy)) - (set! (-> v1-6 prim-core collide-with) (collide-spec jak bot hit-by-others-list player-list)) + (set! (-> v1-6 prim-core collide-with) (collide-spec backgnd jak bot hit-by-others-list player-list)) (set! (-> v1-6 prim-core action) (collide-action solid)) (set! (-> v1-6 transform-index) 3) (set-vector! (-> v1-6 local-sphere) 0.0 0.0 0.0 4096.0) @@ -335,13 +405,13 @@ (vector-copy! (-> self root trans) (-> arg0 orient-tform)) (initialize-skeleton self - (the-as skeleton-group (art-group-get-by-name *level* "skel-ragdoll-test" (the-as (pointer level) #f))) + (the-as skeleton-group (art-group-get-by-name *level* "skel-jchar-normal" (the-as (pointer level) #f))) (the-as pair 0) ) (logior! (-> self mask) (process-mask enemy)) (set! (-> self ragdoll-proc) (ppointer->handle - (process-spawn ragdoll-proc *ragdoll-test-ragdoll-setup* :name "ragdoll-proc" :to self :stack-size #x5000) + (process-spawn ragdoll-proc *target-ragdoll-setup* :name "ragdoll-proc" :to self :stack-size #x5000) ) ) (go-virtual idle) diff --git a/goal_src/jak3/engine/common-obs/vent.gc b/goal_src/jak3/engine/common-obs/vent.gc index 74c650dc77..d8204cf68d 100644 --- a/goal_src/jak3/engine/common-obs/vent.gc +++ b/goal_src/jak3/engine/common-obs/vent.gc @@ -53,21 +53,21 @@ (set! (-> this block-func) (the-as (function vent symbol) true-func)) (case (-> this fact pickup-type) (((pickup-type eco-blue)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 156) this)) - (set! (-> this collect-effect) (-> *part-group-id-table* 169)) - (set! (-> this collect-effect2) (-> *part-group-id-table* 155)) + (set! (-> this part) (create-launch-control group-part-vent-blue-active this)) + (set! (-> this collect-effect) group-blue-collect) + (set! (-> this collect-effect2) group-eco-blue-collect) (set! (-> this sound) (new 'process 'ambient-sound "eco-bg-blue" (-> this root trans) 0.0)) ) (((pickup-type eco-red)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 160) this)) - (set! (-> this collect-effect) (-> *part-group-id-table* 171)) - (set! (-> this collect-effect2) (-> *part-group-id-table* 159)) + (set! (-> this part) (create-launch-control group-part-vent-red-active this)) + (set! (-> this collect-effect) group-red-collect) + (set! (-> this collect-effect2) group-eco-red-collect) (set! (-> this sound) (new 'process 'ambient-sound "eco-bg-red" (-> this root trans) 0.0)) ) (((pickup-type eco-green) (pickup-type health)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 148) this)) - (set! (-> this collect-effect) (-> *part-group-id-table* 141)) - (set! (-> this collect-effect2) (-> *part-group-id-table* 124)) + (set! (-> this part) (create-launch-control group-part-vent-green-active this)) + (set! (-> this collect-effect) group-green-collect) + (set! (-> this collect-effect2) group-eco-green-collect) (case (-> this fact pickup-type) (((pickup-type eco-green)) (set! (-> this sound) (new 'process 'ambient-sound "eco-loop" (-> this root trans) 0.0)) @@ -78,9 +78,9 @@ ) ) (((pickup-type eco-yellow)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 162) this)) - (set! (-> this collect-effect) (-> *part-group-id-table* 170)) - (set! (-> this collect-effect2) (-> *part-group-id-table* 165)) + (set! (-> this part) (create-launch-control group-part-vent-yellow-active this)) + (set! (-> this collect-effect) group-yellow-collect) + (set! (-> this collect-effect2) group-eco-yellow-collect) (set! (-> this sound) (new 'process 'ambient-sound "eco-bg-yellow" (-> this root trans) 0.0)) ) ) @@ -449,8 +449,8 @@ (the-as pair 0) ) (logclear! (-> this mask) (process-mask actor-pause)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 144) this)) - (set! (-> this part2) (create-launch-control (-> *part-group-id-table* 145) this)) + (set! (-> this part) (create-launch-control group-part-vent-light-active this)) + (set! (-> this part2) (create-launch-control group-part-vent-light-touched this)) (set! (-> this sound) (new 'process 'ambient-sound "eco-bg-light" (-> this root trans) 0.0)) (set-falloff-far! (-> this sound) 81920.0) (set-falloff-mode! (-> this sound) 9) @@ -653,8 +653,8 @@ (the-as skeleton-group (art-group-get-by-name *level* "skel-dark-eco-vent" (the-as (pointer level) #f))) (the-as pair 0) ) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 146) this)) - (set! (-> this part2) (create-launch-control (-> *part-group-id-table* 147) this)) + (set! (-> this part) (create-launch-control group-part-vent-dark-active this)) + (set! (-> this part2) (create-launch-control group-part-vent-dark-touched this)) (set! (-> this sound) (new 'process 'ambient-sound "eco-bg-dark" (-> this root trans) 0.0)) (set-falloff-far! (-> this sound) 81920.0) (set-falloff-mode! (-> this sound) 9) diff --git a/goal_src/jak3/engine/common-obs/voicebox.gc b/goal_src/jak3/engine/common-obs/voicebox.gc index 27826228e9..682aa18625 100644 --- a/goal_src/jak3/engine/common-obs/voicebox.gc +++ b/goal_src/jak3/engine/common-obs/voicebox.gc @@ -286,7 +286,7 @@ (set! (-> this blend) 1.0) (set! (-> this draw light-index) (the-as uint 30)) (set! (-> this speak-effect?) #f) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 122) this)) + (set! (-> this part) (create-launch-control group-talkbox-speak this)) (none) ) diff --git a/goal_src/jak3/engine/common-obs/warp-gate.gc b/goal_src/jak3/engine/common-obs/warp-gate.gc index 2dd034af3e..0c4dbb0f25 100644 --- a/goal_src/jak3/engine/common-obs/warp-gate.gc +++ b/goal_src/jak3/engine/common-obs/warp-gate.gc @@ -733,7 +733,7 @@ (set! (-> this wait-for) #f) (set! (-> this continue) #f) (set! (-> this on-close) #f) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 202) this)) + (set! (-> this part) (create-launch-control group-warpgate this)) (vector-copy! (-> this center) (-> this root trans)) (+! (-> this center y) 13516.8) (set! (-> this sound) @@ -1167,9 +1167,9 @@ ) ) ) - (set! (-> this part-exhaust-left) (create-launch-control (-> *part-group-id-table* 206) this)) - (set! (-> this part-exhaust-right) (create-launch-control (-> *part-group-id-table* 206) this)) - (set! (-> this part-dust) (create-launch-control (-> *part-group-id-table* 204) this)) + (set! (-> this part-exhaust-left) (create-launch-control group-airtrain-thruster-off this)) + (set! (-> this part-exhaust-right) (create-launch-control group-airtrain-thruster-off this)) + (set! (-> this part-dust) (create-launch-control group-airtrain-dust-hover this)) (set! (-> this root pause-adjust-distance) 368640.0) (set! (-> this hover-sound) (sound-play "air-train")) (none) diff --git a/goal_src/jak3/engine/common-obs/water.gc b/goal_src/jak3/engine/common-obs/water.gc index c606e91db6..ad84274aff 100644 --- a/goal_src/jak3/engine/common-obs/water.gc +++ b/goal_src/jak3/engine/common-obs/water.gc @@ -685,8 +685,8 @@ (defun splash-spawn ((arg0 float) (arg1 vector) (arg2 int)) (cond ((logtest? (-> (if (zero? arg2) - (-> *part-group-id-table* 193) - (-> *part-group-id-table* 192) + group-part-water-splash-small + group-part-water-splash ) flags ) @@ -697,8 +697,8 @@ part-tracker-subsampler :to *entity-pool* :group (if (zero? arg2) - (-> *part-group-id-table* 193) - (-> *part-group-id-table* 192) + group-part-water-splash-small + group-part-water-splash ) :callback (the-as (function part-tracker vector) part-water-splash-callback) :userdata (the-as uint arg0) @@ -710,8 +710,8 @@ part-tracker :to *entity-pool* :group (if (zero? arg2) - (-> *part-group-id-table* 193) - (-> *part-group-id-table* 192) + group-part-water-splash-small + group-part-water-splash ) :callback (the-as (function part-tracker vector) part-water-splash-callback) :userdata (the-as uint arg0) diff --git a/goal_src/jak3/engine/data/art-h.gc b/goal_src/jak3/engine/data/art-h.gc index f06f4967a7..1f3b271eb9 100644 --- a/goal_src/jak3/engine/data/art-h.gc +++ b/goal_src/jak3/engine/data/art-h.gc @@ -515,3 +515,4 @@ Each process-drawable has a draw-control." (import "goal_src/jak3/engine/data/art-elts.gc") (import "goal_src/jak3/engine/data/joint-nodes.gc") +(import "goal_src/jak3/engine/data/part-groups.gc") \ No newline at end of file diff --git a/goal_src/jak3/engine/data/part-groups.gc b/goal_src/jak3/engine/data/part-groups.gc new file mode 100644 index 0000000000..4145117035 --- /dev/null +++ b/goal_src/jak3/engine/data/part-groups.gc @@ -0,0 +1,1549 @@ +(defconstant group-nest-fog (-> *part-group-id-table* 640)) +(defconstant group-beast-mh-centipede-shot-glow (-> *part-group-id-table* 651)) +(defconstant group-mh-centipede-shot-explosion (-> *part-group-id-table* 650)) +(defconstant group-mh-centipede-shot-trail (-> *part-group-id-table* 649)) +(defconstant part-mh-centipede-explosion-splats (-> *part-group-id-table* 648)) +(defconstant group-mh-centipede-death (-> *part-group-id-table* 647)) +(defconstant group-mh-centipede-impact-dust-up (-> *part-group-id-table* 646)) +(defconstant group-mh-centipede-impact (-> *part-group-id-table* 645)) +(defconstant group-mh-centipede-dirt-fall-off (-> *part-group-id-table* 644)) +(defconstant group-mh-centipede-crater-mark (-> *part-group-id-table* 643)) +(defconstant group-mh-centipede-breach (-> *part-group-id-table* 642)) +(defconstant group-mh-centipede-before-breach (-> *part-group-id-table* 641)) +(defconstant group-mech-explode-death (-> *part-group-id-table* 236)) +(defconstant group-for-turret-scorched-earth (-> *part-group-id-table* 241)) +(defconstant group-for-turret-shot-die (-> *part-group-id-table* 240)) +(defconstant group-for-turret-shot-hit (-> *part-group-id-table* 239)) +(defconstant group-robotank-barrel-sparks (-> *part-group-id-table* 783)) +(defconstant group-robotank-steamescape (-> *part-group-id-table* 782)) +(defconstant group-fac-gunturret-casing (-> *part-group-id-table* 781)) +(defconstant group-fac-gunturret-smoke (-> *part-group-id-table* 780)) +(defconstant group-fac-gunturret-hit (-> *part-group-id-table* 779)) +(defconstant group-factory-vehicle-shot (-> *part-group-id-table* 778)) +(defconstant group-fac-guntower-particle (-> *part-group-id-table* 777)) +(defconstant group-gun-warf-shot-hit (-> *part-group-id-table* 776)) +(defconstant part-fturret-lightning-glow (-> *part-group-id-table* 775)) +(defconstant group-fturret-shot-die (-> *part-group-id-table* 774)) +(defconstant group-fturret-grenade (-> *part-group-id-table* 773)) +(defconstant group-fturret-shot-hit (-> *part-group-id-table* 772)) +(defconstant group-fturret-shot-hit-object (-> *part-group-id-table* 771)) +(defconstant part-ftank-lightning-glow (-> *part-group-id-table* 770)) +(defconstant group-ftank-shot-die (-> *part-group-id-table* 769)) +(defconstant group-ftank-shot-hit (-> *part-group-id-table* 768)) +(defconstant group-ftank-shot-hit-object (-> *part-group-id-table* 767)) +(defconstant part-ffight-lightning-glow (-> *part-group-id-table* 766)) +(defconstant group-ffight-shot-die (-> *part-group-id-table* 765)) +(defconstant group-ffight-shot-hit (-> *part-group-id-table* 764)) +(defconstant group-ffight-shot-hit-object (-> *part-group-id-table* 763)) +(defconstant part-cty-sniper-turret-lightning-glow (-> *part-group-id-table* 1469)) +(defconstant group-cty-sniper-turret-shot-die (-> *part-group-id-table* 1468)) +(defconstant group-cty-sniper-turret-shot-hit (-> *part-group-id-table* 1467)) +(defconstant group-cty-sniper-turret-shot-hit-object (-> *part-group-id-table* 1466)) +(defconstant group-sniper-turret-explosion (-> *part-group-id-table* 1465)) +(defconstant group-sniper-battery-explosion (-> *part-group-id-table* 1464)) +(defconstant group-cty-sniper-battery-glow (-> *part-group-id-table* 1463)) +(defconstant group-protect-gunship-cannon-charge (-> *part-group-id-table* 1454)) +(defconstant group-grp-gunship-explosion (-> *part-group-id-table* 1453)) +(defconstant group-missile-beacon (-> *part-group-id-table* 1452)) +(defconstant group-gunship-damage (-> *part-group-id-table* 1451)) +(defconstant group-gunship-laser-guard-hit (-> *part-group-id-table* 1450)) +(defconstant group-fuel-pickup-pop (-> *part-group-id-table* 531)) +(defconstant group-nuke-fuel (-> *part-group-id-table* 530)) +(defconstant group-torpedo-explosion (-> *part-group-id-table* 529)) +(defconstant group-nuke-water-splash (-> *part-group-id-table* 528)) +(defconstant group-nuke-water-wake (-> *part-group-id-table* 527)) +(defconstant group-daxter-missile-heathaze (-> *part-group-id-table* 526)) +(defconstant group-dummy-explode-assault-bombbot-explode (-> *part-group-id-table* 1435)) +(defconstant group-lure-sirens-dim (-> *part-group-id-table* 1434)) +(defconstant group-lure-sirens (-> *part-group-id-table* 1433)) +(defconstant group-missile-thruster-fire (-> *part-group-id-table* 1432)) +(defconstant group-part-dark-egg-mist-active (-> *part-group-id-table* 1449)) +(defconstant group-bt-mh-flyer-engine (-> *part-group-id-table* 1462)) +(defconstant group-gun-hellcat-shot-hit (-> *part-group-id-table* 1461)) +(defconstant group-bt-roboguard-explode (-> *part-group-id-table* 1460)) +(defconstant group-grunt-hit-pickup (-> *part-group-id-table* 1459)) +(defconstant group-bt-dummy (-> *part-group-id-table* 1458)) +(defconstant group-bt-mh-flyer-explosion (-> *part-group-id-table* 1457)) +(defconstant group-flyer-shot-trail (-> *part-group-id-table* 1456)) +(defconstant group-barrel-damage (-> *part-group-id-table* 1455)) +(defconstant group-bb-freeze (-> *part-group-id-table* 1539)) +(defconstant group-bb-freeze-2 (-> *part-group-id-table* 1538)) +(defconstant group-bb-freeze-3 (-> *part-group-id-table* 1537)) +(defconstant group-bb-goal (-> *part-group-id-table* 1536)) +(defconstant group-bb-finder-nofade (-> *part-group-id-table* 1535)) +(defconstant group-bb-finder (-> *part-group-id-table* 1534)) +(defconstant group-trail-goal-touched (-> *part-group-id-table* 1533)) +(defconstant group-trail-goal (-> *part-group-id-table* 1532)) +(defconstant group-goal-explode (-> *part-group-id-table* 1531)) +(defconstant group-desert-ring-birth-final (-> *part-group-id-table* 1552)) +(defconstant group-desert-ring-birth (-> *part-group-id-table* 1551)) +(defconstant group-desert-ring-explode-final (-> *part-group-id-table* 1550)) +(defconstant group-desert-ring-explode (-> *part-group-id-table* 1549)) +(defconstant group-desert-ring-final (-> *part-group-id-table* 1548)) +(defconstant group-desert-ring (-> *part-group-id-table* 1547)) +(defconstant group-spirit-explode (-> *part-group-id-table* 1546)) +(defconstant group-score-drop-a (-> *part-group-id-table* 1545)) +(defconstant group-score-drop-b (-> *part-group-id-table* 1544)) +(defconstant group-score-drop-c (-> *part-group-id-table* 1543)) +(defconstant group-bb-ring-finder-nofade (-> *part-group-id-table* 1542)) +(defconstant group-bb-ring-finder (-> *part-group-id-table* 1541)) +(defconstant group-spirit-goal (-> *part-group-id-table* 1540)) +(defconstant group-desert-blowing-dust (-> *part-group-id-table* 1230)) +(defconstant group-desert-impact-dust-blow (-> *part-group-id-table* 1229)) +(defconstant group-desert-impact-dust (-> *part-group-id-table* 1228)) +(defconstant group-tired-desert-heathaze (-> *part-group-id-table* 1227)) +(defconstant group-lost-desert-heathaze (-> *part-group-id-table* 1226)) +(defconstant group-drop-desert-heathaze (-> *part-group-id-table* 1225)) +(defconstant group-ctypal-palace-break-trailer-large (-> *part-group-id-table* 1224)) +(defconstant group-ctypal-palace-break-trailer-medium (-> *part-group-id-table* 1223)) +(defconstant group-ctypal-palace-break-trailer-small (-> *part-group-id-table* 1222)) +(defconstant group-ctypal-support-break-trailer (-> *part-group-id-table* 1221)) +(defconstant group-ctypal-palace-break-explode-large (-> *part-group-id-table* 1220)) +(defconstant group-ctypal-palace-break-explode-medium (-> *part-group-id-table* 1219)) +(defconstant group-ctypal-palace-break-explode-fountain (-> *part-group-id-table* 1218)) +(defconstant group-ctypal-palace-break-explode-small (-> *part-group-id-table* 1217)) +(defconstant group-palace-tracer-fire (-> *part-group-id-table* 1216)) +(defconstant group-palace-flak (-> *part-group-id-table* 1215)) +(defconstant group-palace-dust-cloud-big (-> *part-group-id-table* 1214)) +(defconstant group-palace-dust-cloud-first (-> *part-group-id-table* 1213)) +(defconstant group-palace-smoke-plume (-> *part-group-id-table* 1212)) +(defconstant group-palace-huge-explosion (-> *part-group-id-table* 1211)) +(defconstant group-palace-small-explode (-> *part-group-id-table* 1210)) +(defconstant group-palace-missile-explode (-> *part-group-id-table* 1209)) +(defconstant group-palace-missile (-> *part-group-id-table* 1208)) +(defconstant group-palace-hellcat-explode (-> *part-group-id-table* 1207)) +(defconstant group-hellcat-thruster-thick-trail (-> *part-group-id-table* 1206)) +(defconstant group-hellcat-thruster-fire-trail (-> *part-group-id-table* 1205)) +(defconstant group-hellcat-thruster-little-trail (-> *part-group-id-table* 1204)) +(defconstant group-hellcat-thruster-trail (-> *part-group-id-table* 1203)) +(defconstant group-hellcat-thrusters (-> *part-group-id-table* 1202)) +(defconstant group-drop-beacon-glow (-> *part-group-id-table* 1201)) +(defconstant group-drop-handcuff-light (-> *part-group-id-table* 1200)) +(defconstant group-drop-thruster-trail (-> *part-group-id-table* 1199)) +(defconstant group-drop-thrusters (-> *part-group-id-table* 1198)) +(defconstant group-drop-thrusters-powerdown (-> *part-group-id-table* 1197)) +(defconstant group-drop-pecker-dustoff (-> *part-group-id-table* 1196)) +(defconstant group-drop-dust-cloud (-> *part-group-id-table* 1195)) +(defconstant group-drop-dust-takeoff (-> *part-group-id-table* 1194)) +(defconstant group-drop-dust-landing (-> *part-group-id-table* 1193)) +(defconstant group-drop-dust-trail (-> *part-group-id-table* 1192)) +(defconstant group-drop-shooting-dust (-> *part-group-id-table* 1191)) +(defconstant group-palcab-dest-white-eco (-> *part-group-id-table* 1190)) +(defconstant group-palcab-dest-fire-smoke (-> *part-group-id-table* 1189)) +(defconstant group-palcab-dest-steam (-> *part-group-id-table* 1188)) +(defconstant group-palcab-dest-fire (-> *part-group-id-table* 1187)) +(defconstant group-palcab-dest-smoke (-> *part-group-id-table* 1186)) +(defconstant group-palcab-city-glows-3 (-> *part-group-id-table* 1185)) +(defconstant group-palcab-city-glows-2 (-> *part-group-id-table* 1184)) +(defconstant group-palcab-city-glows-1 (-> *part-group-id-table* 1183)) +(defconstant group-palcab-cable-blue-rotaters (-> *part-group-id-table* 1182)) +(defconstant group-palcab-mountain-glows (-> *part-group-id-table* 1181)) +(defconstant group-palcab-fiery-smokestack (-> *part-group-id-table* 1180)) +(defconstant group-palcab-strip-glows (-> *part-group-id-table* 1179)) +(defconstant group-palcab-cable-lights (-> *part-group-id-table* 1178)) +(defconstant group-palcab-misc-citylights-blue-2 (-> *part-group-id-table* 1177)) +(defconstant group-palcab-misc-citylights-blue-1 (-> *part-group-id-table* 1176)) +(defconstant group-palcab-misc-citylights-red-3 (-> *part-group-id-table* 1175)) +(defconstant group-palcab-misc-citylights-red-2 (-> *part-group-id-table* 1174)) +(defconstant group-palcab-misc-citylights-red-1 (-> *part-group-id-table* 1173)) +(defconstant group-palcab-palace-fire (-> *part-group-id-table* 1172)) +(defconstant group-palcab-stadium-lights (-> *part-group-id-table* 1171)) +(defconstant group-palcab-birds (-> *part-group-id-table* 1170)) +(defconstant group-palcab-spark-rain-16 (-> *part-group-id-table* 1169)) +(defconstant group-palcab-spark-rain-15 (-> *part-group-id-table* 1168)) +(defconstant group-palcab-spark-rain-14 (-> *part-group-id-table* 1167)) +(defconstant group-palcab-spark-rain-13 (-> *part-group-id-table* 1166)) +(defconstant group-palcab-spark-rain-12 (-> *part-group-id-table* 1165)) +(defconstant group-palcab-spark-rain-11 (-> *part-group-id-table* 1164)) +(defconstant group-palcab-spark-rain-10 (-> *part-group-id-table* 1163)) +(defconstant group-palcab-spark-rain-9 (-> *part-group-id-table* 1162)) +(defconstant group-palcab-spark-rain-8 (-> *part-group-id-table* 1161)) +(defconstant group-palcab-spark-rain-7 (-> *part-group-id-table* 1160)) +(defconstant group-palcab-spark-rain-6 (-> *part-group-id-table* 1159)) +(defconstant group-palcab-spark-rain-5 (-> *part-group-id-table* 1158)) +(defconstant group-palcab-spark-rain-4 (-> *part-group-id-table* 1157)) +(defconstant group-palcab-spark-rain-3 (-> *part-group-id-table* 1156)) +(defconstant group-palcab-spark-rain-2 (-> *part-group-id-table* 1155)) +(defconstant group-palcab-spark-rain-1 (-> *part-group-id-table* 1154)) +(defconstant group-palcab-lights (-> *part-group-id-table* 1153)) +(defconstant group-palroof-lightning-pole-off (-> *part-group-id-table* 1152)) +(defconstant group-palroof-lightning-pole (-> *part-group-id-table* 1151)) +(defconstant group-palroof-runoff-low (-> *part-group-id-table* 1150)) +(defconstant group-palroof-runoff-med (-> *part-group-id-table* 1149)) +(defconstant group-palroof-runoff-high (-> *part-group-id-table* 1148)) +(defconstant group-palroof-window-small (-> *part-group-id-table* 1147)) +(defconstant group-palroof-window-large (-> *part-group-id-table* 1146)) +(defconstant group-precurc-purple-glow-small (-> *part-group-id-table* 1333)) +(defconstant group-precurc-green-glow-small (-> *part-group-id-table* 1332)) +(defconstant group-precurc-green-steam (-> *part-group-id-table* 1331)) +(defconstant group-precurc-bulb-green-glow-long (-> *part-group-id-table* 1330)) +(defconstant group-precurc-bulb-green-glow (-> *part-group-id-table* 1329)) +(defconstant group-placeholder-single-shockwave (-> *part-group-id-table* 1328)) +(defconstant group-precura-engulfing-death (-> *part-group-id-table* 1327)) +(defconstant group-placeholder-single-laser (-> *part-group-id-table* 1326)) +(defconstant group-kg-bomb-explosion (-> *part-group-id-table* 1325)) +(defconstant group-debug-placeholder-multiple-generator (-> *part-group-id-table* 1324)) +(defconstant group-precura-rtableb (-> *part-group-id-table* 1323)) +(defconstant group-precura-green-glow-small (-> *part-group-id-table* 1322)) +(defconstant group-precura-green-steam (-> *part-group-id-table* 1321)) +(defconstant group-precura-bulb-green-glow-long (-> *part-group-id-table* 1320)) +(defconstant group-precura-bulb-green-glow (-> *part-group-id-table* 1319)) +(defconstant group-gem-explosion (-> *part-group-id-table* 1318)) +(defconstant group-gem-d-smoke (-> *part-group-id-table* 1317)) +(defconstant group-shock-wave (-> *part-group-id-table* 1316)) +(defconstant group-bomb-spawner (-> *part-group-id-table* 1315)) +(defconstant group-platform-effect (-> *part-group-id-table* 1314)) +(defconstant group-precura-generator-explode (-> *part-group-id-table* 1313)) +(defconstant group-precurd-bulb-ceiling-glow (-> *part-group-id-table* 1312)) +(defconstant group-precurd-bulb-green-glow-long (-> *part-group-id-table* 1311)) +(defconstant group-precurd-bulb-green-glow-small (-> *part-group-id-table* 1310)) +(defconstant group-precur-debris-wind (-> *part-group-id-table* 1309)) +(defconstant group-airlock-sucking (-> *part-group-id-table* 1308)) +(defconstant group-errol-jetpack (-> *part-group-id-table* 1307)) +(defconstant group-fma-lightjak-get-off (-> *part-group-id-table* 1306)) +(defconstant group-dark-eco-gun-charge (-> *part-group-id-table* 1305)) +(defconstant group-light-eco-gun-charge (-> *part-group-id-table* 1304)) +(defconstant group-precursor-ship-beam-hit (-> *part-group-id-table* 1303)) +(defconstant group-final-beam-cut-sparks (-> *part-group-id-table* 1302)) +(defconstant group-final-beam-rise-mist (-> *part-group-id-table* 1301)) +(defconstant group-beam-combine-flash (-> *part-group-id-table* 1300)) +(defconstant group-precursor-ship-explosion (-> *part-group-id-table* 1299)) +(defconstant group-veger-to-otsel-zap (-> *part-group-id-table* 1294)) +(defconstant group-railx-warpgate (-> *part-group-id-table* 1293)) +(defconstant group-railx-veger-transform (-> *part-group-id-table* 1292)) +(defconstant group-railx-ottsel-bubble (-> *part-group-id-table* 1291)) +(defconstant group-railx-veger-bubble (-> *part-group-id-table* 1290)) +(defconstant group-railx-shoot-at-veger (-> *part-group-id-table* 1289)) +(defconstant group-railx-room-light (-> *part-group-id-table* 1288)) +(defconstant group-railx-veger-glow (-> *part-group-id-table* 1287)) +(defconstant group-railx-rod-of-god (-> *part-group-id-table* 1286)) +(defconstant group-dark-eco-cannon-charge (-> *part-group-id-table* 1285)) +(defconstant group-light-eco-cannon-charge (-> *part-group-id-table* 1284)) +(defconstant group-railx-eco-sphere-glow (-> *part-group-id-table* 1283)) +(defconstant group-railx-eco-sphere-glow-ramp-up (-> *part-group-id-table* 1282)) +(defconstant group-railx-oracle-eye-glow (-> *part-group-id-table* 1281)) +(defconstant group-railx-oracle-eye-open (-> *part-group-id-table* 1280)) +(defconstant group-railcst-dust-landing (-> *part-group-id-table* 1279)) +(defconstant group-fma-hover-vehicle-exhaust-glow (-> *part-group-id-table* 1278)) +(defconstant group-leader-staff-shot-glow (-> *part-group-id-table* 1277)) +(defconstant group-railx-precursor-entity (-> *part-group-id-table* 1276)) +(defconstant group-fma-railx-precursor-entrance-flash (-> *part-group-id-table* 1275)) +(defconstant group-combx-capsulescreen (-> *part-group-id-table* 1274)) +(defconstant group-combx-smallscreen (-> *part-group-id-table* 1273)) +(defconstant group-combx-mediumscreen (-> *part-group-id-table* 1272)) +(defconstant group-combx-bigscreen (-> *part-group-id-table* 1271)) +(defconstant group-combx-yellowstrip (-> *part-group-id-table* 1270)) +(defconstant group-combx-orbblueglow (-> *part-group-id-table* 1269)) +(defconstant group-combx-rimlight (-> *part-group-id-table* 1268)) +(defconstant group-combx-yellowledglow (-> *part-group-id-table* 1267)) +(defconstant group-combx-blueled (-> *part-group-id-table* 1266)) +(defconstant group-combx-yellowled (-> *part-group-id-table* 1265)) +(defconstant group-combx-blueoval (-> *part-group-id-table* 1264)) +(defconstant group-combx-yellowoval (-> *part-group-id-table* 1263)) +(defconstant group-pedestal-blue-glow (-> *part-group-id-table* 1262)) +(defconstant group-combx-small-yellow-glow (-> *part-group-id-table* 1261)) +(defconstant group-combx-medium-yellow-glow (-> *part-group-id-table* 1260)) +(defconstant group-combx-big-yellow-glow (-> *part-group-id-table* 1259)) +(defconstant group-fma-lightjak-getshield-flash (-> *part-group-id-table* 1258)) +(defconstant group-fma-lightjak-getshield-gravitate (-> *part-group-id-table* 1257)) +(defconstant group-fma-lightjak-getshield (-> *part-group-id-table* 1256)) +(defconstant group-fma-precursor-entrance-flash (-> *part-group-id-table* 1255)) +(defconstant group-fma-medallion-car-charge (-> *part-group-id-table* 1254)) +(defconstant group-fma-medallion-car-beam (-> *part-group-id-table* 1253)) +(defconstant group-outro-precursor-entity (-> *part-group-id-table* 1252)) +(defconstant group-comb-ceiling-panel-yellow-glow (-> *part-group-id-table* 1251)) +(defconstant group-comb-mainwall-blue-glow (-> *part-group-id-table* 1250)) +(defconstant group-comb-widetube-yellow-glow (-> *part-group-id-table* 1249)) +(defconstant group-comb-lighttube-yellow-glow (-> *part-group-id-table* 1248)) +(defconstant group-comb-powerdisc-blue-glow (-> *part-group-id-table* 1247)) +(defconstant group-comb-brightlight-big-yellow-glow (-> *part-group-id-table* 1246)) +(defconstant group-comb-light-yellow-glow (-> *part-group-id-table* 1245)) +(defconstant group-comb-sphere-yellow-glow (-> *part-group-id-table* 1244)) +(defconstant group-comb-shelltube-yellow-glow (-> *part-group-id-table* 1243)) +(defconstant group-comb-marker-small-red-glow (-> *part-group-id-table* 1242)) +(defconstant group-comb-marker-red-glow (-> *part-group-id-table* 1241)) +(defconstant group-comb-bigblue-glow (-> *part-group-id-table* 1240)) +(defconstant group-comb-supp-blue-glow (-> *part-group-id-table* 1239)) +(defconstant group-hugelight-small-yellow-glow (-> *part-group-id-table* 1238)) +(defconstant group-hugelight-big-yellow-glow (-> *part-group-id-table* 1237)) +(defconstant group-comb-arch-yellow-glow (-> *part-group-id-table* 1236)) +(defconstant group-comb-obstacle-glow (-> *part-group-id-table* 1235)) +(defconstant group-comb-hover-vehicle-exhaust-distortion (-> *part-group-id-table* 1234)) +(defconstant group-comb-hover-vehicle-exhaust-glow (-> *part-group-id-table* 1233)) +(defconstant group-fma-rub-hover-vehicle-exhaust-glow (-> *part-group-id-table* 1298)) +(defconstant group-fma-rhino-smoke (-> *part-group-id-table* 1297)) +(defconstant group-rubble-missile-explode (-> *part-group-id-table* 1296)) +(defconstant group-rubble-missile (-> *part-group-id-table* 1295)) +(defconstant group-dm-mine-spider-explode (-> *part-group-id-table* 1029)) +(defconstant group-dm-mine-spider-birth (-> *part-group-id-table* 1028)) +(defconstant group-elec-gate-sparks (-> *part-group-id-table* 1027)) +(defconstant group-rubble-tower-break (-> *part-group-id-table* 1026)) +(defconstant group-rhino-door-break (-> *part-group-id-table* 1003)) +(defconstant group-rubble-switch-sparks (-> *part-group-id-table* 1025)) +(defconstant group-rubble-switch-explode (-> *part-group-id-table* 1024)) +(defconstant group-rubble-switch-glow (-> *part-group-id-table* 1023)) +(defconstant group-rub-elec-gate (-> *part-group-id-table* 1022)) +(defconstant group-rub-missile-explode (-> *part-group-id-table* 1021)) +(defconstant group-rub-missile (-> *part-group-id-table* 1020)) +(defconstant group-rubble-barrel-fire (-> *part-group-id-table* 1019)) +(defconstant group-rubble-bulb-yellow-glow (-> *part-group-id-table* 1018)) +(defconstant group-rubble-wispy-smoke (-> *part-group-id-table* 1017)) +(defconstant group-rubble-rubble-crater-smoke (-> *part-group-id-table* 1016)) +(defconstant group-rubble-huge-smoke (-> *part-group-id-table* 1015)) +(defconstant group-rubble-rubble-smoke (-> *part-group-id-table* 1014)) +(defconstant group-rubble-break-door-bust (-> *part-group-id-table* 1001)) +(defconstant group-rub-dark-jak-door (-> *part-group-id-table* 1002)) +(defconstant group-rubble-break-dust-trail (-> *part-group-id-table* 1013)) +(defconstant group-rubble-break-dust (-> *part-group-id-table* 1012)) +(defconstant group-small-yellow-glow (-> *part-group-id-table* 1011)) +(defconstant group-hugelight-yellow-glow (-> *part-group-id-table* 1010)) +(defconstant group-rubble-blue-glow (-> *part-group-id-table* 1009)) +(defconstant group-rubble-lighttube-yellow-glow (-> *part-group-id-table* 1008)) +(defconstant group-fma-neo-satellite-explosion (-> *part-group-id-table* 1007)) +(defconstant group-fma-door-break-dust (-> *part-group-id-table* 1006)) +(defconstant group-fma-battle-amulet-glow (-> *part-group-id-table* 1005)) +(defconstant group-mh-tower-smoke-stda (-> *part-group-id-table* 1004)) +(defconstant group-stadium-barrel-fire (-> *part-group-id-table* 1000)) +(defconstant group-stadium-rubble-crater-smoke (-> *part-group-id-table* 999)) +(defconstant group-stadium-rubble-smoke (-> *part-group-id-table* 998)) +(defconstant group-hellcat-tower-dust-landing (-> *part-group-id-table* 1448)) +(defconstant group-tower-hellcat-heathaze (-> *part-group-id-table* 1447)) +(defconstant group-tower-hellcat-thrusters-landing (-> *part-group-id-table* 1446)) +(defconstant group-tower-hellcat-thrusters-trail (-> *part-group-id-table* 1445)) +(defconstant group-tower-hellcat-thrusters-fire (-> *part-group-id-table* 1444)) +(defconstant group-tower-dark-warpgate (-> *part-group-id-table* 1443)) +(defconstant group-tower-errol-hand-glow (-> *part-group-id-table* 1442)) +(defconstant group-dark-tower-explosion (-> *part-group-id-table* 1441)) +(defconstant group-tower-purple-glow (-> *part-group-id-table* 1440)) +(defconstant group-tower-yellow-glow (-> *part-group-id-table* 1439)) +(defconstant group-tow-energy-bridge (-> *part-group-id-table* 1438)) +(defconstant group-tow-spawner-dead (-> *part-group-id-table* 1437)) +(defconstant group-tow-spawner-spawn (-> *part-group-id-table* 1436)) +(defconstant group-factory-debris-impact (-> *part-group-id-table* 1385)) +(defconstant group-factory-debris-trails (-> *part-group-id-table* 1384)) +(defconstant group-factory-daxter-impact-dust (-> *part-group-id-table* 1383)) +(defconstant group-factory-errol-jetpack-r (-> *part-group-id-table* 1382)) +(defconstant group-factory-errol-jetpack-l (-> *part-group-id-table* 1381)) +(defconstant group-enter-dark-warpgate (-> *part-group-id-table* 1380)) +(defconstant group-fac-boss-missile-explosion (-> *part-group-id-table* 1379)) +(defconstant group-facboss-sparks (-> *part-group-id-table* 1378)) +(defconstant group-factory-boss-launch-critter (-> *part-group-id-table* 1377)) +(defconstant group-factory-boss-superbomb-ring (-> *part-group-id-table* 1376)) +(defconstant group-factory-boss-superbomb-reticle (-> *part-group-id-table* 1375)) +(defconstant group-factory-boss-bomb-arrow (-> *part-group-id-table* 1374)) +(defconstant group-factory-boss-bomb-dot (-> *part-group-id-table* 1373)) +(defconstant group-factory-boss-bomb-corner (-> *part-group-id-table* 1372)) +(defconstant group-factory-boss-bomb-reticle (-> *part-group-id-table* 1371)) +(defconstant group-missile-bot-thruster (-> *part-group-id-table* 1370)) +(defconstant group-missile-bot-spark (-> *part-group-id-table* 1369)) +(defconstant group-missile-bot-fizzle (-> *part-group-id-table* 1368)) +(defconstant group-factory-boss-machine-explosion (-> *part-group-id-table* 1367)) +(defconstant group-factory-boss-machine-ring4 (-> *part-group-id-table* 1366)) +(defconstant group-factory-boss-machine-ring3 (-> *part-group-id-table* 1365)) +(defconstant group-factory-boss-machine-ring2 (-> *part-group-id-table* 1364)) +(defconstant group-factory-boss-machine-ring1 (-> *part-group-id-table* 1363)) +(defconstant group-factory-boss-machine-damaged-low-smoke (-> *part-group-id-table* 1362)) +(defconstant group-factory-boss-machine-damaged-high-smoke (-> *part-group-id-table* 1361)) +(defconstant group-factory-boss-shot-explosion (-> *part-group-id-table* 1360)) +(defconstant group-factory-boss-shot-trail (-> *part-group-id-table* 1359)) +(defconstant group-neo-wasp-engine (-> *part-group-id-table* 557)) +(defconstant group-neo-wasp-gun-casing (-> *part-group-id-table* 556)) +(defconstant group-neo-wasp-gun-smoke (-> *part-group-id-table* 555)) +(defconstant group-neo-wasp-shot-die (-> *part-group-id-table* 554)) +(defconstant group-neo-wasp-shot-hit (-> *part-group-id-table* 553)) +(defconstant group-bombbot-bomb-warning-glow (-> *part-group-id-table* 525)) +(defconstant group-fac-fire-torch (-> *part-group-id-table* 807)) +(defconstant group-fact-big-torch (-> *part-group-id-table* 806)) +(defconstant group-mhtower-green-glowing-smoke (-> *part-group-id-table* 805)) +(defconstant group-mhtower-orange-glow (-> *part-group-id-table* 804)) +(defconstant group-citylights-newslums (-> *part-group-id-table* 803)) +(defconstant group-citylights-oldslums (-> *part-group-id-table* 802)) +(defconstant group-kgtower-smoke (-> *part-group-id-table* 801)) +(defconstant group-kgtower-smokestack (-> *part-group-id-table* 800)) +(defconstant group-steady-blue-light (-> *part-group-id-table* 799)) +(defconstant group-kgtower-flashing-blue-light-6 (-> *part-group-id-table* 798)) +(defconstant group-kgtower-flashing-blue-light-5 (-> *part-group-id-table* 797)) +(defconstant group-kgtower-flashing-blue-light-4 (-> *part-group-id-table* 796)) +(defconstant group-kgtower-flashing-blue-light-3 (-> *part-group-id-table* 795)) +(defconstant group-kgtower-flashing-blue-light-2 (-> *part-group-id-table* 794)) +(defconstant group-kgtower-flashing-blue-light-1 (-> *part-group-id-table* 793)) +(defconstant group-ctylights-steady-green-glow (-> *part-group-id-table* 792)) +(defconstant group-ctylights-steady-yellow-glow (-> *part-group-id-table* 791)) +(defconstant group-kgtower-steady-red-light (-> *part-group-id-table* 790)) +(defconstant group-kgtower-pulsating-red-light-6 (-> *part-group-id-table* 789)) +(defconstant group-kgtower-pulsating-red-light-5 (-> *part-group-id-table* 788)) +(defconstant group-kgtower-pulsating-red-light-4 (-> *part-group-id-table* 787)) +(defconstant group-kgtower-pulsating-red-light-3 (-> *part-group-id-table* 786)) +(defconstant group-kgtower-pulsating-red-light-2 (-> *part-group-id-table* 785)) +(defconstant group-kgtower-pulsating-red-light-1 (-> *part-group-id-table* 784)) +(defconstant group-hellcat-dust-landing-fac (-> *part-group-id-table* 762)) +(defconstant group-hellcat-thruster-trail-fac (-> *part-group-id-table* 761)) +(defconstant group-hellcat-thrusters-follow (-> *part-group-id-table* 760)) +(defconstant group-hellcat-thrusters-fac (-> *part-group-id-table* 759)) +(defconstant group-hellcat-thrusters-fire (-> *part-group-id-table* 758)) +(defconstant group-fma-hellcat-heathaze (-> *part-group-id-table* 757)) +(defconstant group-fma-hellcat-heathaze-ground (-> *part-group-id-table* 756)) +(defconstant group-fac-rotfan-barrier (-> *part-group-id-table* 755)) +(defconstant group-fac-switch-glow-green (-> *part-group-id-table* 754)) +(defconstant group-fac-switch-glow-red (-> *part-group-id-table* 753)) +(defconstant group-fac-robopod-bust (-> *part-group-id-table* 752)) +(defconstant group-fac-break-fence-bust (-> *part-group-id-table* 751)) +(defconstant group-fac-break-floor-bust (-> *part-group-id-table* 750)) +(defconstant group-fac-grate-yellow-glow (-> *part-group-id-table* 749)) +(defconstant group-fac-glowt-yellow-glow (-> *part-group-id-table* 748)) +(defconstant group-fac-glowlite-yellow-glow (-> *part-group-id-table* 747)) +(defconstant group-fac-volumelight-yellow-glow (-> *part-group-id-table* 746)) +(defconstant group-fac-steam (-> *part-group-id-table* 745)) +(defconstant group-fac-blinklite-glow (-> *part-group-id-table* 744)) +(defconstant group-fac-supportarm-white-glow (-> *part-group-id-table* 743)) +(defconstant group-fac-cornertower-white-glow (-> *part-group-id-table* 742)) +(defconstant group-fac-topsidewall-white-glow (-> *part-group-id-table* 741)) +(defconstant group-fac-bulb-red-glow (-> *part-group-id-table* 740)) +(defconstant group-fac-spot-white-glow (-> *part-group-id-table* 739)) +(defconstant group-fac-hangingbrace-white-glow (-> *part-group-id-table* 738)) +(defconstant group-fac-launchpad-red-glow (-> *part-group-id-table* 737)) +(defconstant group-fac-positionlight-yellow-glow (-> *part-group-id-table* 736)) +(defconstant group-gun-tower-hit-object (-> *part-group-id-table* 735)) +(defconstant group-gun-tower-hit-explosion (-> *part-group-id-table* 734)) +(defconstant group-fac-target-explosion (-> *part-group-id-table* 733)) +(defconstant group-fac-tank-explosion (-> *part-group-id-table* 732)) +(defconstant group-fac-gun-tower-explosion (-> *part-group-id-table* 731)) +(defconstant group-fac-fighter-explosion (-> *part-group-id-table* 730)) +(defconstant group-hellcat-thrust-afterburn (-> *part-group-id-table* 729)) +(defconstant group-hellcat-thrust (-> *part-group-id-table* 728)) +(defconstant group-forest-telescope-eye-beam (-> *part-group-id-table* 596)) +(defconstant group-day-star-fma-forest (-> *part-group-id-table* 595)) +(defconstant group-forest-ring-birth-final (-> *part-group-id-table* 594)) +(defconstant group-forest-ring-birth (-> *part-group-id-table* 593)) +(defconstant group-forest-ring-explode-final (-> *part-group-id-table* 592)) +(defconstant group-forest-ring-explode (-> *part-group-id-table* 591)) +(defconstant group-forest-ring-final (-> *part-group-id-table* 590)) +(defconstant group-forest-ring (-> *part-group-id-table* 589)) +(defconstant group-for-statue-eyes (-> *part-group-id-table* 588)) +(defconstant group-for-tower-splash (-> *part-group-id-table* 587)) +(defconstant group-for-pillar-splash (-> *part-group-id-table* 586)) +(defconstant group-for-statue-explode (-> *part-group-id-table* 585)) +(defconstant group-for-statue-buildup (-> *part-group-id-table* 584)) +(defconstant group-for-statue-rise-no-rocks (-> *part-group-id-table* 583)) +(defconstant group-for-statue-rise (-> *part-group-id-table* 582)) +(defconstant group-forest-waterfall-splash (-> *part-group-id-table* 581)) +(defconstant group-forest-waterfall-base (-> *part-group-id-table* 580)) +(defconstant group-for-ring-finder-explosion (-> *part-group-id-table* 579)) +(defconstant group-for-ring-finder (-> *part-group-id-table* 578)) +(defconstant group-for-bridge-dust (-> *part-group-id-table* 577)) +(defconstant group-mh-plant-pop (-> *part-group-id-table* 576)) +(defconstant group-mh-plant-warning (-> *part-group-id-table* 575)) +(defconstant group-mh-plant-die (-> *part-group-id-table* 574)) +(defconstant group-mh-plant-flare-pop (-> *part-group-id-table* 573)) +(defconstant group-mh-plant-embers (-> *part-group-id-table* 572)) +(defconstant group-mh-plant-rebirth (-> *part-group-id-table* 571)) +(defconstant group-dp-bipedal-eye-glow (-> *part-group-id-table* 247)) +(defconstant group-mine-boss-fma-dust2 (-> *part-group-id-table* 1356)) +(defconstant group-dp-bipedal-grenade-shot-hit (-> *part-group-id-table* 246)) +(defconstant group-mine-boss-fma-dust (-> *part-group-id-table* 1355)) +(defconstant group-dp-bipedal-grenade-shot (-> *part-group-id-table* 245)) +(defconstant group-mine-boss-fma-dust-trailer (-> *part-group-id-table* 1354)) +(defconstant group-dp-bipedal-drip (-> *part-group-id-table* 244)) +(defconstant group-mine-bridge-fma-dust-trailer (-> *part-group-id-table* 1353)) +(defconstant group-dp-bipedal-ambush-drip (-> *part-group-id-table* 243)) +(defconstant group-temp-8 (-> *part-group-id-table* 1352)) +(defconstant group-dp-bipedal-ambush (-> *part-group-id-table* 242)) +(defconstant group-temp-7 (-> *part-group-id-table* 1351)) +(defconstant group-terraformer-explosion (-> *part-group-id-table* 378)) +(defconstant group-sewer-waterfall-base-big (-> *part-group-id-table* 1487)) +(defconstant group-desert-scenes-hologram-light (-> *part-group-id-table* 377)) +(defconstant group-sewer-waterfall-base (-> *part-group-id-table* 1486)) +(defconstant group-desert-scenes-hologram-explosion (-> *part-group-id-table* 376)) +(defconstant group-sewer-falls-tilt (-> *part-group-id-table* 1485)) +(defconstant group-desert-scenes-impact-dust (-> *part-group-id-table* 375)) +(defconstant group-sewer-whirlpool-center (-> *part-group-id-table* 1484)) +(defconstant group-scenes-daxter-run-dust (-> *part-group-id-table* 374)) +(defconstant group-sewer-falls-froth (-> *part-group-id-table* 1483)) +(defconstant group-scenes-daxter-impact-dust (-> *part-group-id-table* 373)) +(defconstant group-sew-yellow-grate-wake (-> *part-group-id-table* 1482)) +(defconstant group-desert-scenes-beast-fall-dust (-> *part-group-id-table* 372)) +(defconstant group-sew-grate-wake (-> *part-group-id-table* 1481)) +(defconstant group-lizard-catch-buggy-dust-skid (-> *part-group-id-table* 371)) +(defconstant group-sew-wake-small (-> *part-group-id-table* 1480)) +(defconstant group-desert-beast-fall-crystal-glow (-> *part-group-id-table* 370)) +(defconstant group-sew-fan-lasersight-hostile (-> *part-group-id-table* 1479)) +(defconstant group-final-boss-head-smoke (-> *part-group-id-table* 369)) +(defconstant group-sew-fan-lasersight (-> *part-group-id-table* 1478)) +(defconstant group-chunks-slide-dust (-> *part-group-id-table* 368)) +(defconstant group-sew-little-ridge-wake (-> *part-group-id-table* 1477)) +(defconstant group-desert-dust-wave (-> *part-group-id-table* 367)) +(defconstant group-sewer-panel-light-glow (-> *part-group-id-table* 1476)) +(defconstant group-terraformer-fma2-hit-ground (-> *part-group-id-table* 366)) +(defconstant group-sewer-light-glow (-> *part-group-id-table* 1475)) +(defconstant group-terraformer-fma2-dust-trails (-> *part-group-id-table* 365)) +(defconstant group-sewer-deadly-mist (-> *part-group-id-table* 1474)) +(defconstant group-terraformer-fma2-thrusters-sm (-> *part-group-id-table* 364)) +(defconstant group-sewer-green-steam (-> *part-group-id-table* 1473)) +(defconstant group-terraformer-fma2-thrusters (-> *part-group-id-table* 363)) +(defconstant group-sewer-hard-blowing-steam (-> *part-group-id-table* 1472)) +(defconstant group-terraformer-fma2-smoke (-> *part-group-id-table* 362)) +(defconstant group-sewer-steamvent (-> *part-group-id-table* 1471)) +(defconstant group-terraformer-fma-thrusters-sm (-> *part-group-id-table* 361)) +(defconstant group-sewer-gas (-> *part-group-id-table* 1470)) +(defconstant group-terraformer-fma-thrusters (-> *part-group-id-table* 360)) +(defconstant group-terraformer-fma-smoke (-> *part-group-id-table* 359)) +(defconstant group-terraformer-fma-detach (-> *part-group-id-table* 358)) +(defconstant group-terraformer-fma-explosion (-> *part-group-id-table* 357)) +(defconstant group-terraformer-foot-impact-dust (-> *part-group-id-table* 356)) +(defconstant group-oasis-hellcat-heathaze (-> *part-group-id-table* 355)) +(defconstant group-oasis-hellcat-thruster-trail (-> *part-group-id-table* 354)) +(defconstant group-oasis-hellcat-thrusters (-> *part-group-id-table* 353)) +(defconstant group-oasis-hellcat-dust-trail (-> *part-group-id-table* 352)) +(defconstant group-oasis-medallion-sparkle (-> *part-group-id-table* 351)) +(defconstant group-desert-car-fly (-> *part-group-id-table* 350)) +(defconstant group-nst-barrier-egg-explode (-> *part-group-id-table* 349)) +(defconstant group-desert-barrier-explosion (-> *part-group-id-table* 348)) +(defconstant group-desert-shot (-> *part-group-id-table* 347)) +(defconstant group-desert-shot-muzzle (-> *part-group-id-table* 346)) +(defconstant group-desert-gun-charge (-> *part-group-id-table* 345)) +(defconstant group-desert-water-rocks-splash (-> *part-group-id-table* 344)) +(defconstant group-desert-waterfall-mist-rainbow (-> *part-group-id-table* 343)) +(defconstant group-desert-waterfall-mist-up (-> *part-group-id-table* 342)) +(defconstant group-desert-waterfall-splash (-> *part-group-id-table* 341)) +(defconstant group-desert-waterfall-mist-fall (-> *part-group-id-table* 340)) +(defconstant group-desert-bollard-fire (-> *part-group-id-table* 339)) +(defconstant group-stronghold-torchfire (-> *part-group-id-table* 338)) +(defconstant group-firepit-fire (-> *part-group-id-table* 337)) +(defconstant group-desert-totem-head-fire (-> *part-group-id-table* 336)) +(defconstant group-desert-palace-fire-beacon (-> *part-group-id-table* 335)) +(defconstant group-desert-small-bowl-fire (-> *part-group-id-table* 334)) +(defconstant group-desert-dust-devil (-> *part-group-id-table* 333)) +(defconstant group-desert-bowl-fire (-> *part-group-id-table* 332)) +(defconstant group-desert-hanging-fire (-> *part-group-id-table* 331)) +(defconstant group-volcano-smoke-all (-> *part-group-id-table* 330)) +(defconstant group-dm-tentacle-whip-hit-ground (-> *part-group-id-table* 447)) +(defconstant group-dm-tentacle-retract (-> *part-group-id-table* 446)) +(defconstant group-dm-tentacle-extend (-> *part-group-id-table* 445)) +(defconstant group-dm-tentacle-spores (-> *part-group-id-table* 444)) +(defconstant group-dm-tentacle-explosion (-> *part-group-id-table* 443)) +(defconstant group-dm-urchin-explosion (-> *part-group-id-table* 442)) +(defconstant group-desw-eco-tank-explosion (-> *part-group-id-table* 441)) +(defconstant group-prebot-critter-trail (-> *part-group-id-table* 440)) +(defconstant group-neo-satellite-buildup (-> *part-group-id-table* 427)) +(defconstant group-neo-satellite-explode (-> *part-group-id-table* 426)) +(defconstant group-neo-sat-damage-heavy (-> *part-group-id-table* 425)) +(defconstant group-neo-sat-damage-medium (-> *part-group-id-table* 424)) +(defconstant group-neo-sat-damage-light (-> *part-group-id-table* 423)) +(defconstant group-neo-sat-antenna-explode (-> *part-group-id-table* 422)) +(defconstant group-neo-sat-debris-fly (-> *part-group-id-table* 421)) +(defconstant group-mh-wasp-explosion (-> *part-group-id-table* 1530)) +(defconstant group-neo-sat-ground-dust (-> *part-group-id-table* 420)) +(defconstant group-mh-wasp-engine (-> *part-group-id-table* 1529)) +(defconstant group-neo-sat-ground-emerge (-> *part-group-id-table* 419)) +(defconstant group-mh-wasp-gun-casing (-> *part-group-id-table* 1528)) +(defconstant group-neo-sat-ground-impact (-> *part-group-id-table* 418)) +(defconstant group-mh-wasp-gun-smoke (-> *part-group-id-table* 1527)) +(defconstant group-ashelin-shot-hit (-> *part-group-id-table* 222)) +(defconstant group-catapult-target-scorched-earth (-> *part-group-id-table* 456)) +(defconstant group-catapult-target-glow (-> *part-group-id-table* 455)) +(defconstant group-catapult-embers-fire (-> *part-group-id-table* 454)) +(defconstant group-kamikaze-interceptor-fire (-> *part-group-id-table* 453)) +(defconstant group-v-catapult-shot-explosion (-> *part-group-id-table* 452)) +(defconstant group-v-catapult-shot-trail (-> *part-group-id-table* 451)) +(defconstant group-v-catapult-shot (-> *part-group-id-table* 450)) +(defconstant group-v-catapult-shot-idle (-> *part-group-id-table* 449)) +(defconstant group-v-catapult-shot-chargeup (-> *part-group-id-table* 448)) +(defconstant group-terraformer-foot-water-drop (-> *part-group-id-table* 439)) +(defconstant group-terraformer-lift-foot-from-water (-> *part-group-id-table* 438)) +(defconstant group-terraformer-foot-splash (-> *part-group-id-table* 437)) +(defconstant group-terraformer-foot-sand-drop (-> *part-group-id-table* 436)) +(defconstant group-terraformer-foot-mark (-> *part-group-id-table* 435)) +(defconstant group-terraformer-lift-foot (-> *part-group-id-table* 434)) +(defconstant group-terraformer-stomp-foot (-> *part-group-id-table* 433)) +(defconstant group-terraformer-mine-dust (-> *part-group-id-table* 432)) +(defconstant group-terraformer-drone-impact (-> *part-group-id-table* 431)) +(defconstant group-terraformer-drone-dust-up (-> *part-group-id-table* 430)) +(defconstant group-beast-terraformer-drone-glow (-> *part-group-id-table* 429)) +(defconstant group-terraformer-drone-explosion (-> *part-group-id-table* 428)) +(defconstant group-beast-foot-dust (-> *part-group-id-table* 416)) +(defconstant group-mh-wasp-shot-hit (-> *part-group-id-table* 1525)) +(defconstant group-beast-fall-dust (-> *part-group-id-table* 415)) +(defconstant group-neo-juicer-shot-hit (-> *part-group-id-table* 1524)) +(defconstant group-beast-hit (-> *part-group-id-table* 414)) +(defconstant group-neo-grenadier-drip (-> *part-group-id-table* 1523)) +(defconstant group-beast-grenade-glow (-> *part-group-id-table* 413)) +(defconstant group-spydroid-orig-explode (-> *part-group-id-table* 1522)) +(defconstant group-grenade-shot-explode-in-air (-> *part-group-id-table* 412)) +(defconstant group-spydroid-orig-trail (-> *part-group-id-table* 1521)) +(defconstant group-grenade-shot-explode (-> *part-group-id-table* 411)) +(defconstant group-sew-laser-turret-casing (-> *part-group-id-table* 1520)) +(defconstant group-arena-token-shadow (-> *part-group-id-table* 501)) +(defconstant group-arena-token-pickup (-> *part-group-id-table* 500)) +(defconstant group-arena-token (-> *part-group-id-table* 499)) +(defconstant group-wasstada-crowd-wedge (-> *part-group-id-table* 498)) +(defconstant group-part-wasstada-birds (-> *part-group-id-table* 497)) +(defconstant group-wasstada-bowl-fire (-> *part-group-id-table* 496)) +(defconstant group-wasstada-fire-big (-> *part-group-id-table* 495)) +(defconstant group-wasstada-fire (-> *part-group-id-table* 494)) +(defconstant group-wasstada-crucible-fire (-> *part-group-id-table* 493)) +(defconstant group-wasstada-lava-rocks-heat (-> *part-group-id-table* 492)) +(defconstant group-wasstada-lava-steam (-> *part-group-id-table* 491)) +(defconstant group-wasstada-lava-geyser-flame (-> *part-group-id-table* 490)) +(defconstant group-wasstada-lava-geyser-sploop (-> *part-group-id-table* 489)) +(defconstant group-wasstada-lava-sploop-box (-> *part-group-id-table* 488)) +(defconstant group-wasstada-lava-sploop (-> *part-group-id-table* 487)) +(defconstant group-wasstada-lava-flame (-> *part-group-id-table* 486)) +(defconstant group-maker-grenade-explosion-bottom (-> *part-group-id-table* 541)) +(defconstant group-maker-missile-explosion (-> *part-group-id-table* 540)) +(defconstant group-maker-grenade-explosion (-> *part-group-id-table* 539)) +(defconstant group-maker-explosion (-> *part-group-id-table* 538)) +(defconstant group-dm-flyer-missile (-> *part-group-id-table* 537)) +(defconstant group-dm-robot-splash (-> *part-group-id-table* 536)) +(defconstant group-dm-robot-ripple (-> *part-group-id-table* 535)) +(defconstant group-dm-robot-ambush (-> *part-group-id-table* 534)) +(defconstant group-skeet-splash (-> *part-group-id-table* 533)) +(defconstant group-skeet-explosion (-> *part-group-id-table* 532)) +(defconstant group-turret-explode (-> *part-group-id-table* 235)) +(defconstant group-prebot-pillar-shatter (-> *part-group-id-table* 1344)) +(defconstant group-turret-shot-hit (-> *part-group-id-table* 234)) +(defconstant group-prebot-gun-shot-explosion (-> *part-group-id-table* 1343)) +(defconstant group-pre-bubble-land-x (-> *part-group-id-table* 517)) +(defconstant group-pre-bubble-land-square (-> *part-group-id-table* 516)) +(defconstant group-pre-bubble-land-circle (-> *part-group-id-table* 515)) +(defconstant group-pre-bubble-land-triangle (-> *part-group-id-table* 514)) +(defconstant group-pre-bubble-birth-x (-> *part-group-id-table* 513)) +(defconstant group-pre-bubble-birth-square (-> *part-group-id-table* 512)) +(defconstant group-pre-bubble-birth-circle (-> *part-group-id-table* 511)) +(defconstant group-pre-bubble-birth-triangle (-> *part-group-id-table* 510)) +(defconstant group-pre-bubble-pop-x (-> *part-group-id-table* 509)) +(defconstant group-pre-bubble-pop-square (-> *part-group-id-table* 508)) +(defconstant group-pre-bubble-pop-circle (-> *part-group-id-table* 507)) +(defconstant group-pre-bubble-pop-triangle (-> *part-group-id-table* 506)) +(defconstant group-pre-bubble-x (-> *part-group-id-table* 505)) +(defconstant group-pre-bubble-square (-> *part-group-id-table* 504)) +(defconstant group-pre-bubble-circle (-> *part-group-id-table* 503)) +(defconstant group-pre-bubble-triangle (-> *part-group-id-table* 502)) +(defconstant group-player-leaper-ring-explode-final (-> *part-group-id-table* 523)) +(defconstant group-player-leaper-ring-explode (-> *part-group-id-table* 522)) +(defconstant group-leaper-ring-explode (-> *part-group-id-table* 521)) +(defconstant group-player-leaper-ring-final (-> *part-group-id-table* 520)) +(defconstant group-player-leaper-ring (-> *part-group-id-table* 519)) +(defconstant group-leaper-ring (-> *part-group-id-table* 518)) +(defconstant group-kanga-lizard-dust (-> *part-group-id-table* 524)) +(defconstant group-wasdoors-buggy-dust-skid (-> *part-group-id-table* 410)) +(defconstant group-sew-laser-turret-smoke (-> *part-group-id-table* 1519)) +(defconstant group-waswide-talltorch (-> *part-group-id-table* 485)) +(defconstant group-waswide-gaslamp (-> *part-group-id-table* 484)) +(defconstant group-part-wascitya-flies (-> *part-group-id-table* 483)) +(defconstant group-part-wascityb-birds (-> *part-group-id-table* 482)) +(defconstant group-part-water-wave-foam (-> *part-group-id-table* 481)) +(defconstant group-part-water-rocks-splash (-> *part-group-id-table* 480)) +(defconstant group-waswide-pump (-> *part-group-id-table* 479)) +(defconstant group-waswide-topdust (-> *part-group-id-table* 478)) +(defconstant group-waswide-steamvent (-> *part-group-id-table* 477)) +(defconstant group-waswide-chimney-small (-> *part-group-id-table* 476)) +(defconstant group-waswide-chimney-long-smoke (-> *part-group-id-table* 475)) +(defconstant group-waswide-chimney-double-smoke (-> *part-group-id-table* 474)) +(defconstant group-waswide-chimney-smoke (-> *part-group-id-table* 473)) +(defconstant group-waswide-chimney (-> *part-group-id-table* 472)) +(defconstant group-wascity-palace-fire-beacon (-> *part-group-id-table* 471)) +(defconstant group-day-star-fma (-> *part-group-id-table* 470)) +(defconstant group-wasteland-scenes-leaper-dust (-> *part-group-id-table* 469)) +(defconstant group-wascity-pre-game-res-text (-> *part-group-id-table* 468)) +(defconstant group-wascity-pre-game-crystal-creation (-> *part-group-id-table* 467)) +(defconstant group-wascity-pre-game-crystal-glow (-> *part-group-id-table* 466)) +(defconstant group-neo-satellite-explode-scene (-> *part-group-id-table* 465)) +(defconstant group-neo-satellite-buildup-scene (-> *part-group-id-table* 464)) +(defconstant group-sat-scrape-dirt (-> *part-group-id-table* 463)) +(defconstant group-sat-scrape-dust (-> *part-group-id-table* 462)) +(defconstant group-daxter-slide-dust (-> *part-group-id-table* 461)) +(defconstant group-wascity-pre-game-sat-sparks (-> *part-group-id-table* 460)) +(defconstant group-leaper-drool (-> *part-group-id-table* 459)) +(defconstant group-fma-daxter-impact-dust (-> *part-group-id-table* 458)) +(defconstant group-fma-leaper-dust (-> *part-group-id-table* 457)) +(defconstant group-ctywide-fruit (-> *part-group-id-table* 253)) +(defconstant group-msack-b-explode (-> *part-group-id-table* 252)) +(defconstant group-msack-a-explode (-> *part-group-id-table* 251)) +(defconstant group-mbasket-b-explode (-> *part-group-id-table* 250)) +(defconstant group-mbasket-a-explode (-> *part-group-id-table* 249)) +(defconstant group-veger-staff-glow (-> *part-group-id-table* 1358)) +(defconstant group-mcrate-explode (-> *part-group-id-table* 248)) +(defconstant group-veger-staff-sparkles (-> *part-group-id-table* 1357)) +(defconstant group-flut-attack-strike-ground (-> *part-group-id-table* 238)) +(defconstant group-temp-3 (-> *part-group-id-table* 1347)) +(defconstant group-flut-trans-pad (-> *part-group-id-table* 237)) +(defconstant group-temp-2 (-> *part-group-id-table* 1346)) +(defconstant group-wascity-burning-bush-holo-off (-> *part-group-id-table* 382)) +(defconstant group-sew-wake-tiny (-> *part-group-id-table* 1491)) +(defconstant group-wascity-burning-bush-holo-on (-> *part-group-id-table* 381)) +(defconstant group-sew-wake-large (-> *part-group-id-table* 1490)) +(defconstant group-tentacle-attack (-> *part-group-id-table* 409)) +(defconstant group-sew-laser-turret-hit (-> *part-group-id-table* 1518)) +(defconstant group-tentacle-warn (-> *part-group-id-table* 408)) +(defconstant group-sewer-bubbles-daxter-pop (-> *part-group-id-table* 1517)) +(defconstant group-temple-light-shaft (-> *part-group-id-table* 668)) +(defconstant group-eco-light-pill (-> *part-group-id-table* 127)) +(defconstant group-desert-buggy-dust-stop (-> *part-group-id-table* 384)) +(defconstant group-sewer-waterfall-base-huge (-> *part-group-id-table* 1493)) +(defconstant group-templea-medium-torch (-> *part-group-id-table* 667)) +(defconstant group-eco-green-pill-collect (-> *part-group-id-table* 126)) +(defconstant group-desert-buggy-dust (-> *part-group-id-table* 383)) +(defconstant group-sewer-deep-mist (-> *part-group-id-table* 1492)) +(defconstant group-templea-small-torch (-> *part-group-id-table* 666)) +(defconstant group-eco-green-pill (-> *part-group-id-table* 125)) +(defconstant group-temple-small-torch (-> *part-group-id-table* 665)) +(defconstant group-eco-green-collect (-> *part-group-id-table* 124)) +(defconstant group-temple-big-torch (-> *part-group-id-table* 664)) +(defconstant group-rod-of-god (-> *part-group-id-table* 123)) +(defconstant group-des-cactus-explode (-> *part-group-id-table* 1232)) +(defconstant group-desert-totem-eye-glow-pre (-> *part-group-id-table* 380)) +(defconstant group-sew-wake-medium (-> *part-group-id-table* 1489)) +(defconstant group-temple-candle (-> *part-group-id-table* 663)) +(defconstant group-talkbox-speak (-> *part-group-id-table* 122)) +(defconstant group-des-big-cactus-explode (-> *part-group-id-table* 1231)) +(defconstant group-desert-totem-eye-glow (-> *part-group-id-table* 379)) +(defconstant group-sewer-waterfall-base-tube (-> *part-group-id-table* 1488)) +(defconstant group-temple-interior-waterfall (-> *part-group-id-table* 662)) +(defconstant group-gun-dark-1-upgrade-shot (-> *part-group-id-table* 121)) +(defconstant group-temple-oracle-eyeglow (-> *part-group-id-table* 661)) +(defconstant group-gravity-gun-muzzle (-> *part-group-id-table* 120)) +(defconstant group-gravity-gun-rise-no-flare (-> *part-group-id-table* 119)) +(defconstant group-gravity-gun-rise (-> *part-group-id-table* 118)) +(defconstant group-gun-dark2-black-hole-glow (-> *part-group-id-table* 117)) +(defconstant group-gun-dark2-black-hole (-> *part-group-id-table* 116)) +(defconstant group-gun3-dark-scorched-earth (-> *part-group-id-table* 115)) +(defconstant group-gun-dark3-small (-> *part-group-id-table* 114)) +(defconstant group-gun-dark3-missile-trail-smoke (-> *part-group-id-table* 113)) +(defconstant group-gun-dark3-missile-trail (-> *part-group-id-table* 112)) +(defconstant group-gun-dark3-ring (-> *part-group-id-table* 111)) +(defconstant group-gun-dark3-stalk (-> *part-group-id-table* 110)) +(defconstant group-red-2-charge (-> *part-group-id-table* 109)) +(defconstant group-gun-blue3-shot-impact (-> *part-group-id-table* 108)) +(defconstant group-gun-blue-2-muzzle-flare (-> *part-group-id-table* 107)) +(defconstant gun-blue-muzzle-flare (-> *part-group-id-table* 106)) +(defconstant group-gun-green-shot-hit (-> *part-group-id-table* 105)) +(defconstant group-gun-dark-shot-hit (-> *part-group-id-table* 104)) +(defconstant group-gun-yellow-shot-die (-> *part-group-id-table* 103)) +(defconstant group-gun-yellow-shot-hit-object (-> *part-group-id-table* 102)) +(defconstant group-gun-yellow-shot-hit (-> *part-group-id-table* 101)) +(defconstant group-gun-yellow3-muzzle-smoke (-> *part-group-id-table* 100)) +(defconstant group-gun-yellow-shot-hit-object-3 (-> *part-group-id-table* 99)) +(defconstant group-egg-spider-birth (-> *part-group-id-table* 639)) +(defconstant group-gun-yellow-shot-hit-3 (-> *part-group-id-table* 98)) +(defconstant group-egg-spider-explosion (-> *part-group-id-table* 638)) +(defconstant group-gun-yellow-saucer-fizz (-> *part-group-id-table* 97)) +(defconstant group-mh-bat-jet-explosion (-> *part-group-id-table* 637)) +(defconstant group-gun-yellow-saucer-lights-dark (-> *part-group-id-table* 96)) +(defconstant group-mh-bat-explosion (-> *part-group-id-table* 636)) +(defconstant group-gun-yellow-saucer-lights (-> *part-group-id-table* 95)) +(defconstant group-mh-bat-charge-up (-> *part-group-id-table* 635)) +(defconstant group-gun-dark-shot-trail (-> *part-group-id-table* 94)) +(defconstant group-cocoon-grenade-shot (-> *part-group-id-table* 634)) +(defconstant group-jak-peacemaker-shot-hit (-> *part-group-id-table* 93)) +(defconstant group-cocoon-poison-gas-smoke (-> *part-group-id-table* 633)) +(defconstant group-gun-dark-shot-fired (-> *part-group-id-table* 92)) +(defconstant group-nest-green-light-glow (-> *part-group-id-table* 632)) +(defconstant group-gun-blue-shot-die (-> *part-group-id-table* 91)) +(defconstant group-nest-big-orange-light-glow (-> *part-group-id-table* 631)) +(defconstant group-gun-blue-shot-hit (-> *part-group-id-table* 90)) +(defconstant group-nest-orange-xmas-light-glow (-> *part-group-id-table* 630)) +(defconstant group-gun-red-3-scorched-earth (-> *part-group-id-table* 89)) +(defconstant group-nst-bridge-break-splash (-> *part-group-id-table* 629)) +(defconstant group-gun-red3-shot-explode (-> *part-group-id-table* 88)) +(defconstant group-nst-bridge-break-dust (-> *part-group-id-table* 628)) +(defconstant group-gun-red3-shot-glow (-> *part-group-id-table* 87)) +(defconstant group-turbo-ring-explode (-> *part-group-id-table* 627)) +(defconstant group-gun-red3-shot-fired (-> *part-group-id-table* 86)) +(defconstant group-turbo-ring (-> *part-group-id-table* 626)) +(defconstant group-gun-red-shot-reload (-> *part-group-id-table* 85)) +(defconstant group-part-nest-bats (-> *part-group-id-table* 625)) +(defconstant group-gun-red-shot-fired (-> *part-group-id-table* 84)) +(defconstant group-nest-mud-impact-rocks (-> *part-group-id-table* 624)) +(defconstant group-laser-glow (-> *part-group-id-table* 83)) +(defconstant group-just-poof-unk (-> *part-group-id-table* 26)) +(defconstant group-farm-beetree-explode (-> *part-group-id-table* 1135)) +(defconstant group-run-poof-unk (-> *part-group-id-table* 25)) +(defconstant group-farm-marrow-explode (-> *part-group-id-table* 1134)) +(defconstant group-land-poof-unk (-> *part-group-id-table* 22)) +(defconstant group-ctyindb-steam-drift (-> *part-group-id-table* 1131)) +(defconstant group-nest-ground-impact-rocks (-> *part-group-id-table* 623)) +(defconstant group-dark-maker-idol-eye-part (-> *part-group-id-table* 82)) +(defconstant group-nst-bridge-goo-explosion (-> *part-group-id-table* 622)) +(defconstant group-daxter-death-limb-zap (-> *part-group-id-table* 81)) +(defconstant group-nest-ground-impact-dust (-> *part-group-id-table* 621)) +(defconstant group-daxter-death-zap-smoke (-> *part-group-id-table* 80)) +(defconstant group-nest-ceiling-dust-2 (-> *part-group-id-table* 620)) +(defconstant group-daxter-death-zap (-> *part-group-id-table* 79)) +(defconstant group-nest-ceiling-dust-1 (-> *part-group-id-table* 619)) +(defconstant group-daxter-death-freeze (-> *part-group-id-table* 78)) +(defconstant group-nst-cocoon-c-explode (-> *part-group-id-table* 618)) +(defconstant group-darkjak-smack-hit (-> *part-group-id-table* 77)) +(defconstant group-cocoon-turret-hit (-> *part-group-id-table* 617)) +(defconstant group-darkjak-smack-wall-explode (-> *part-group-id-table* 76)) +(defconstant group-cocoon-turret-explosion (-> *part-group-id-table* 616)) +(defconstant group-darkjak-smack-charge (-> *part-group-id-table* 75)) +(defconstant group-cocoon-turret-glow (-> *part-group-id-table* 615)) +(defconstant group-darkjak-smack (-> *part-group-id-table* 74)) +(defconstant group-cocoon-big-egg-charge-up (-> *part-group-id-table* 614)) +(defconstant group-darkjak-smack-trail (-> *part-group-id-table* 73)) +(defconstant group-cocoon-big-egg-charge-down (-> *part-group-id-table* 613)) +(defconstant group-darkjak-transform (-> *part-group-id-table* 72)) +(defconstant group-cocoon-big-egg-glow (-> *part-group-id-table* 612)) +(defconstant group-darkjak-bomb (-> *part-group-id-table* 71)) +(defconstant group-nst-metalhead-egg-explode (-> *part-group-id-table* 611)) +(defconstant group-lightning-dark-shot-tip-hit-replace (-> *part-group-id-table* 70)) +(defconstant group-lightning-red-glow (-> *part-group-id-table* 69)) +(defconstant group-lightning-green-glow (-> *part-group-id-table* 68)) +(defconstant group-lightning-glow (-> *part-group-id-table* 67)) +(defconstant group-burn-death (-> *part-group-id-table* 66)) +(defconstant group-explode-death (-> *part-group-id-table* 65)) +(defconstant group-lava-death (-> *part-group-id-table* 64)) +(defconstant group-slime-death (-> *part-group-id-table* 63)) +(defconstant group-run-poof-snw (-> *part-group-id-table* 29)) +(defconstant group-farm-chilirots-explode (-> *part-group-id-table* 1138)) +(defconstant group-just-poof-stn (-> *part-group-id-table* 28)) +(defconstant group-farm-small-cabbage-explode (-> *part-group-id-table* 1137)) +(defconstant group-run-poof-stn (-> *part-group-id-table* 27)) +(defconstant group-farm-cabbage-explode (-> *part-group-id-table* 1136)) +(defconstant group-land-poof-pmt (-> *part-group-id-table* 24)) +(defconstant group-ctyindb-tubes-smoke (-> *part-group-id-table* 1133)) +(defconstant group-land-poof-stn (-> *part-group-id-table* 23)) +(defconstant group-ctyindb-rising-steam (-> *part-group-id-table* 1132)) +(defconstant group-land-poof-cwd (-> *part-group-id-table* 21)) +(defconstant group-ctyindb-fast-steam (-> *part-group-id-table* 1130)) +(defconstant group-land-poof-wod (-> *part-group-id-table* 20)) +(defconstant group-ctyindb-bulb-red-glow-pulse (-> *part-group-id-table* 1129)) +(defconstant group-land-poof-for (-> *part-group-id-table* 19)) +(defconstant group-ctyindb-bulb-yellow-glow-b (-> *part-group-id-table* 1128)) +(defconstant group-land-poof-grs (-> *part-group-id-table* 18)) +(defconstant group-ctyindb-bulb-red-glow-b (-> *part-group-id-table* 1127)) +(defconstant group-land-poof-ice (-> *part-group-id-table* 17)) +(defconstant group-ctyindb-glowlite-yellow-glow-b (-> *part-group-id-table* 1126)) +(defconstant group-land-poof-snw (-> *part-group-id-table* 16)) +(defconstant group-ctyindb-rubble-smoke (-> *part-group-id-table* 1125)) +(defconstant group-land-poof-drt (-> *part-group-id-table* 15)) +(defconstant group-ctyind-rubble-crater-smoke (-> *part-group-id-table* 1124)) +(defconstant group-land-poof-san (-> *part-group-id-table* 14)) +(defconstant group-ctyindb-squarevent (-> *part-group-id-table* 1123)) +(defconstant group-just-poof-snw (-> *part-group-id-table* 30)) +(defconstant group-farm-sprinkler-barrels-water (-> *part-group-id-table* 1139)) +(defconstant group-wc-turret-explode (-> *part-group-id-table* 542)) +(defconstant group-rain-screend-drop-real (-> *part-group-id-table* 1)) +(defconstant group-ctyindb-sign-fashion-8x4 (-> *part-group-id-table* 1110)) +(defconstant group-slide-poof-wod (-> *part-group-id-table* 60)) +(defconstant group-just-footprint-snw (-> *part-group-id-table* 31)) +(defconstant group-ctyfarma-light (-> *part-group-id-table* 1140)) +(defconstant group-maker-damage-sparks (-> *part-group-id-table* 543)) +(defconstant group-stars (-> *part-group-id-table* 2)) +(defconstant group-ctyindb-sign-praxis-banner-4x8 (-> *part-group-id-table* 1111)) +(defconstant group-slide-poof-cwd (-> *part-group-id-table* 61)) +(defconstant group-run-poof-ice (-> *part-group-id-table* 32)) +(defconstant group-ctyfarma-drip-1 (-> *part-group-id-table* 1141)) +(defconstant group-maker-pre-explosion (-> *part-group-id-table* 544)) +(defconstant group-sun (-> *part-group-id-table* 3)) +(defconstant group-ctyindb-sign-onin-knows-4x4 (-> *part-group-id-table* 1112)) +(defconstant group-dark-eco-death (-> *part-group-id-table* 62)) +(defconstant group-dm-final-explode (-> *part-group-id-table* 545)) +(defconstant group-green-sun (-> *part-group-id-table* 4)) +(defconstant group-ctyindb-chimney (-> *part-group-id-table* 1113)) +(defconstant group-wascity-turret-shot-hit (-> *part-group-id-table* 546)) +(defconstant group-moon (-> *part-group-id-table* 5)) +(defconstant group-ctyindb-chimney-smoke (-> *part-group-id-table* 1114)) +(defconstant group-wascity-turret-shot-hit-water (-> *part-group-id-table* 547)) +(defconstant group-day-star (-> *part-group-id-table* 6)) +(defconstant group-ctyindb-chimney-small (-> *part-group-id-table* 1115)) +(defconstant group-turret-reticle (-> *part-group-id-table* 548)) +(defconstant group-beach-launcher (-> *part-group-id-table* 7)) +(defconstant group-ctyindb-red-big-lights-1 (-> *part-group-id-table* 1116)) +(defconstant group-turret-skeet (-> *part-group-id-table* 549)) +(defconstant group-jungle-launcher (-> *part-group-id-table* 8)) +(defconstant group-ctyindb-red-big-lights-2 (-> *part-group-id-table* 1117)) +(defconstant group-maker-grenade-glow (-> *part-group-id-table* 550)) +(defconstant group-swamp-launcher (-> *part-group-id-table* 9)) +(defconstant group-ctyindb-red-big-lights-3 (-> *part-group-id-table* 1118)) +(defconstant group-maker-grenade-shot-explode-far (-> *part-group-id-table* 551)) +(defconstant group-target-hit (-> *part-group-id-table* 10)) +(defconstant group-ctyindb-red-big-lights-4 (-> *part-group-id-table* 1119)) +(defconstant group-maker-grenade-shot-explode (-> *part-group-id-table* 552)) +(defconstant group-spin-hit (-> *part-group-id-table* 11)) +(defconstant group-ctyindb-red-big-lights-5 (-> *part-group-id-table* 1120)) +(defconstant group-punch-hit (-> *part-group-id-table* 12)) +(defconstant group-ctyindb-red-big-lights-6 (-> *part-group-id-table* 1121)) +(defconstant group-smack-surface (-> *part-group-id-table* 13)) +(defconstant group-ctyindb-smokestack (-> *part-group-id-table* 1122)) +(defconstant group-just-poof-ice (-> *part-group-id-table* 33)) +(defconstant group-ctyfarma-wall-bubbles (-> *part-group-id-table* 1142)) +(defconstant group-run-poof-cwd (-> *part-group-id-table* 34)) +(defconstant group-ctyfarmb-light (-> *part-group-id-table* 1143)) +(defconstant group-just-poof-cwd (-> *part-group-id-table* 35)) +(defconstant group-ctyfarmb-drip-1 (-> *part-group-id-table* 1144)) +(defconstant group-run-poof-wod (-> *part-group-id-table* 36)) +(defconstant group-ctyfarmb-wall-bubbles (-> *part-group-id-table* 1145)) +(defconstant group-just-poof-wod (-> *part-group-id-table* 37)) +(defconstant group-run-poof-pmt (-> *part-group-id-table* 38)) +(defconstant group-just-poof-pmt (-> *part-group-id-table* 39)) +(defconstant group-run-poof-grs (-> *part-group-id-table* 40)) +(defconstant group-just-poof-grs (-> *part-group-id-table* 41)) +(defconstant group-just-footprint-grs (-> *part-group-id-table* 42)) +(defconstant group-run-poof-for (-> *part-group-id-table* 43)) +(defconstant group-just-poof-for (-> *part-group-id-table* 44)) +(defconstant group-just-footprint-for (-> *part-group-id-table* 45)) +(defconstant group-run-poof-san (-> *part-group-id-table* 46)) +(defconstant group-just-poof-san (-> *part-group-id-table* 47)) +(defconstant group-just-footprint-san (-> *part-group-id-table* 48)) +(defconstant group-run-poof-drt (-> *part-group-id-table* 49)) +(defconstant group-just-poof-drt (-> *part-group-id-table* 50)) +(defconstant group-just-footprint-drt (-> *part-group-id-table* 51)) +(defconstant group-slide-poof-san (-> *part-group-id-table* 52)) +(defconstant group-slide-poof-drt (-> *part-group-id-table* 53)) +(defconstant group-slide-poof-grs (-> *part-group-id-table* 54)) +(defconstant group-slide-poof-for (-> *part-group-id-table* 55)) +(defconstant group-slide-poof-stn (-> *part-group-id-table* 56)) +(defconstant group-slide-poof-pmt (-> *part-group-id-table* 57)) +(defconstant group-slide-poof-snw (-> *part-group-id-table* 58)) +(defconstant group-slide-poof-ice (-> *part-group-id-table* 59)) +(defconstant group-tpl-watcher-exhaust-distort (-> *part-group-id-table* 669)) +(defconstant group-eco-dark-pill (-> *part-group-id-table* 128)) +(defconstant group-desert-buggy-dust-skid (-> *part-group-id-table* 385)) +(defconstant group-sewer-waterfall-base-top (-> *part-group-id-table* 1494)) +(defconstant group-tpl-watcher-laser-glow (-> *part-group-id-table* 670)) +(defconstant group-eco-green (-> *part-group-id-table* 129)) +(defconstant group-part-wascity-door-steam (-> *part-group-id-table* 386)) +(defconstant group-sew-4-waterfalls (-> *part-group-id-table* 1495)) +(defconstant group-tpl-watcher-laser-charge (-> *part-group-id-table* 671)) +(defconstant group-eco-dark-pill-move-collect (-> *part-group-id-table* 130)) +(defconstant group-part-wascity-door-pre-steam1 (-> *part-group-id-table* 387)) +(defconstant group-sew-moving-step-a-wake (-> *part-group-id-table* 1496)) +(defconstant group-tpl-watcher-explosion (-> *part-group-id-table* 672)) +(defconstant group-generic-collect (-> *part-group-id-table* 131)) +(defconstant group-part-wascity-door-pre-steam2 (-> *part-group-id-table* 388)) +(defconstant group-sew-moving-step-b-wake (-> *part-group-id-table* 1497)) +(defconstant group-tpl-break-door-a (-> *part-group-id-table* 673)) +(defconstant group-skill-glow-red (-> *part-group-id-table* 132)) +(defconstant group-part-wascity-door-big-steam1 (-> *part-group-id-table* 389)) +(defconstant group-sew-grate-bubbles (-> *part-group-id-table* 1498)) +(defconstant group-tpl-break-door-explode (-> *part-group-id-table* 674)) +(defconstant group-skill-glow-yellow (-> *part-group-id-table* 133)) +(defconstant group-part-wascity-door-big-steam2 (-> *part-group-id-table* 390)) +(defconstant group-sewer-slide-froth (-> *part-group-id-table* 1499)) +(defconstant group-tpl-break-alcove (-> *part-group-id-table* 675)) +(defconstant group-gem-glow (-> *part-group-id-table* 134)) +(defconstant group-part-wascity-door-big-pre-steam1 (-> *part-group-id-table* 391)) +(defconstant group-flyingsaw-sparks (-> *part-group-id-table* 1500)) +(defconstant group-tpl-break-alcove-explode (-> *part-group-id-table* 676)) +(defconstant group-gem-collect (-> *part-group-id-table* 135)) +(defconstant group-part-wascity-door-big-pre-steam2 (-> *part-group-id-table* 392)) +(defconstant group-sew-fan-gust (-> *part-group-id-table* 1501)) +(defconstant group-holo-halo (-> *part-group-id-table* 677)) +(defconstant group-ammo-yellow-collect (-> *part-group-id-table* 136)) +(defconstant group-wasdoors-gaslamp (-> *part-group-id-table* 393)) +(defconstant group-sewer-rising-bubbles (-> *part-group-id-table* 1502)) +(defconstant group-day-star-fma-temple (-> *part-group-id-table* 678)) +(defconstant group-ammo-red-collect (-> *part-group-id-table* 137)) +(defconstant group-wasdoors-red-lights (-> *part-group-id-table* 394)) +(defconstant group-sewer-rising-bubbles-pop (-> *part-group-id-table* 1503)) +(defconstant group-fma-egg-glow (-> *part-group-id-table* 679)) +(defconstant group-ammo-blue-collect (-> *part-group-id-table* 138)) +(defconstant group-elevator-palace-door (-> *part-group-id-table* 395)) +(defconstant group-sewer-abyss-waterfall-mist (-> *part-group-id-table* 1504)) +(defconstant group-fma-medallion-beam (-> *part-group-id-table* 680)) +(defconstant group-ammo-dark-collect (-> *part-group-id-table* 139)) +(defconstant group-elevator-palace-door-close (-> *part-group-id-table* 396)) +(defconstant group-sew-laser-guard-hit (-> *part-group-id-table* 1505)) +(defconstant group-fma-medallion-charge (-> *part-group-id-table* 681)) +(defconstant group-eco-dark-pill-collect (-> *part-group-id-table* 140)) +(defconstant group-desert-fireball-shot (-> *part-group-id-table* 397)) +(defconstant group-sew-move-turret-hit-object (-> *part-group-id-table* 1506)) +(defconstant group-temple-oracle-eye-glow (-> *part-group-id-table* 682)) +(defconstant group-green-collect (-> *part-group-id-table* 141)) +(defconstant group-desert-fireball-shot-trail (-> *part-group-id-table* 398)) +(defconstant group-sew-move-turret-hit (-> *part-group-id-table* 1507)) +(defconstant group-skate-point (-> *part-group-id-table* 142)) +(defconstant group-desert-fireball-explosion (-> *part-group-id-table* 399)) +(defconstant group-sewer-water-trail (-> *part-group-id-table* 1508)) +(defconstant group-skate-point-explode (-> *part-group-id-table* 143)) +(defconstant group-cloud-spread (-> *part-group-id-table* 400)) +(defconstant group-sewer-water-trail-body (-> *part-group-id-table* 1509)) +(defconstant group-part-vent-light-active (-> *part-group-id-table* 144)) +(defconstant group-desert-boss-slide-dust (-> *part-group-id-table* 401)) +(defconstant group-sewer-water-trail-body-long (-> *part-group-id-table* 1510)) +(defconstant group-part-vent-light-touched (-> *part-group-id-table* 145)) +(defconstant group-desert-final-boss-gate (-> *part-group-id-table* 402)) +(defconstant group-sewer-water-splash (-> *part-group-id-table* 1511)) +(defconstant group-part-vent-dark-active (-> *part-group-id-table* 146)) +(defconstant group-precursor-staff-shot-glow (-> *part-group-id-table* 403)) +(defconstant group-sewer-water-edge-splash (-> *part-group-id-table* 1512)) +(defconstant group-part-vent-dark-touched (-> *part-group-id-table* 147)) +(defconstant group-precursor-staff-shot (-> *part-group-id-table* 404)) +(defconstant group-sewer-water-splash-jak (-> *part-group-id-table* 1513)) +(defconstant group-part-vent-green-active (-> *part-group-id-table* 148)) +(defconstant group-precursor-staff-hit (-> *part-group-id-table* 405)) +(defconstant group-sewer-water-splash-daxter (-> *part-group-id-table* 1514)) +(defconstant group-placeholder-small (-> *part-group-id-table* 149)) +(defconstant group-ship-door-light (-> *part-group-id-table* 406)) +(defconstant group-sewer-water-jak-rings (-> *part-group-id-table* 1515)) +(defconstant group-placeholder-single (-> *part-group-id-table* 150)) +(defconstant group-mothership-thrusters (-> *part-group-id-table* 407)) +(defconstant group-sewer-bubbles-daxter (-> *part-group-id-table* 1516)) +(defconstant group-placeholder-multiple (-> *part-group-id-table* 151)) +(defconstant group-red-eco-strike-ground (-> *part-group-id-table* 152)) +(defconstant group-red-eco-spinkick (-> *part-group-id-table* 153)) +(defconstant group-eco-blue (-> *part-group-id-table* 154)) +(defconstant group-eco-blue-collect (-> *part-group-id-table* 155)) +(defconstant group-part-vent-blue-active (-> *part-group-id-table* 156)) +(defconstant group-part-vent-blue-inactive (-> *part-group-id-table* 157)) +(defconstant group-eco-red (-> *part-group-id-table* 158)) +(defconstant group-eco-red-collect (-> *part-group-id-table* 159)) +(defconstant group-part-vent-red-active (-> *part-group-id-table* 160)) +(defconstant group-waspala-waterfall-top (-> *part-group-id-table* 702)) +(defconstant group-part-vent-red-inactive (-> *part-group-id-table* 161)) +(defconstant group-waspala-waterfall-base (-> *part-group-id-table* 703)) +(defconstant group-part-vent-yellow-active (-> *part-group-id-table* 162)) +(defconstant group-waspala-waterwheel-up (-> *part-group-id-table* 704)) +(defconstant group-part-vent-yellow-inactive (-> *part-group-id-table* 163)) +(defconstant group-waspala-waterwheel-base (-> *part-group-id-table* 705)) +(defconstant group-eco-yellow (-> *part-group-id-table* 164)) +(defconstant group-waspala-small-waterwheel-up (-> *part-group-id-table* 706)) +(defconstant group-eco-yellow-collect (-> *part-group-id-table* 165)) +(defconstant group-waspala-small-waterwheel-base (-> *part-group-id-table* 707)) +(defconstant group-fuel-cell-starburst (-> *part-group-id-table* 166)) +(defconstant group-waspala-water-dripping (-> *part-group-id-table* 708)) +(defconstant group-money-starburst (-> *part-group-id-table* 167)) +(defconstant group-waspala-water-spout1 (-> *part-group-id-table* 709)) +(defconstant group-buzzer-effect (-> *part-group-id-table* 168)) +(defconstant group-waspala-water-spout2 (-> *part-group-id-table* 710)) +(defconstant group-blue-collect (-> *part-group-id-table* 169)) +(defconstant group-waspala-water-spout3 (-> *part-group-id-table* 711)) +(defconstant group-yellow-collect (-> *part-group-id-table* 170)) +(defconstant group-waspala-water-spout4 (-> *part-group-id-table* 712)) +(defconstant group-red-collect (-> *part-group-id-table* 171)) +(defconstant group-waspala-water-splash1 (-> *part-group-id-table* 713)) +(defconstant group-darkjak-hadouken (-> *part-group-id-table* 172)) +(defconstant group-waspala-water-splash2 (-> *part-group-id-table* 714)) +(defconstant group-darkjak-hadouken-trail (-> *part-group-id-table* 173)) +(defconstant group-waspala-water-splash3 (-> *part-group-id-table* 715)) +(defconstant group-lightjak-get-on-charge (-> *part-group-id-table* 174)) +(defconstant group-waspala-water-splash4 (-> *part-group-id-table* 716)) +(defconstant group-lightjak-get-on (-> *part-group-id-table* 175)) +(defconstant group-waspala-wallfire (-> *part-group-id-table* 717)) +(defconstant group-lightjak-get-off (-> *part-group-id-table* 176)) +(defconstant group-waspala-hanging-fire (-> *part-group-id-table* 718)) +(defconstant group-lightjak-regen (-> *part-group-id-table* 177)) +(defconstant group-waspala-crucible-fire (-> *part-group-id-table* 719)) +(defconstant group-lightjak-shield-start (-> *part-group-id-table* 178)) +(defconstant group-waspala-gargle-bubbles (-> *part-group-id-table* 720)) +(defconstant group-lightjak-shield-hit (-> *part-group-id-table* 179)) +(defconstant group-waspala-water-daxter-ring (-> *part-group-id-table* 721)) +(defconstant group-lightjak-freeze-hands (-> *part-group-id-table* 180)) +(defconstant group-waspala-water-jak-ring (-> *part-group-id-table* 722)) +(defconstant group-lightjak-freeze-burst (-> *part-group-id-table* 181)) +(defconstant group-waspala-hands-water-trail (-> *part-group-id-table* 723)) +(defconstant group-idol-activate (-> *part-group-id-table* 182)) +(defconstant group-waspala-farticle-bubbles (-> *part-group-id-table* 724)) +(defconstant group-lightning-dark-shot-tip-hit (-> *part-group-id-table* 183)) +(defconstant group-board-land-straight (-> *part-group-id-table* 189)) +(defconstant group-board-quick-jump (-> *part-group-id-table* 190)) +(defconstant group-board-launch (-> *part-group-id-table* 191)) +(defconstant group-fma-daxter-swim-ripples (-> *part-group-id-table* 727)) +(defconstant group-target-board-duck-charge (-> *part-group-id-table* 186)) +(defconstant group-damus-hand-sand (-> *part-group-id-table* 726)) +(defconstant group-target-board (-> *part-group-id-table* 185)) +(defconstant group-waspala-squeeze-water (-> *part-group-id-table* 725)) +(defconstant group-board-spin-attack (-> *part-group-id-table* 184)) +(defconstant group-board-zap-attack (-> *part-group-id-table* 188)) +(defconstant group-board-green-eco-zap-attack (-> *part-group-id-table* 187)) +(defconstant group-part-water-splash (-> *part-group-id-table* 192)) +(defconstant group-part-water-splash-small (-> *part-group-id-table* 193)) +(defconstant group-blue-hit-ground-effect (-> *part-group-id-table* 194)) +(defconstant group-crate-explode (-> *part-group-id-table* 195)) +(defconstant group-crate-steel-explode (-> *part-group-id-table* 196)) +(defconstant group-dark-eco-box-explosion (-> *part-group-id-table* 197)) +(defconstant group-part-tester (-> *part-group-id-table* 198)) +(defconstant group-debug-placeholder-small (-> *part-group-id-table* 199)) +(defconstant group-debug-placeholder-single (-> *part-group-id-table* 200)) +(defconstant group-debug-placeholder-multiple (-> *part-group-id-table* 201)) +(defconstant group-warpgate (-> *part-group-id-table* 202)) +(defconstant group-airtrain-dust-plume (-> *part-group-id-table* 203)) +(defconstant group-airtrain-dust-hover (-> *part-group-id-table* 204)) +(defconstant group-airtrain-thruster (-> *part-group-id-table* 205)) +(defconstant group-airtrain-thruster-off (-> *part-group-id-table* 206)) +(defconstant group-warp-hellcat-thruster (-> *part-group-id-table* 207)) +(defconstant group-warp-fma-dust-takeoff (-> *part-group-id-table* 208)) +(defconstant group-warp-fma-drop-thrusters (-> *part-group-id-table* 209)) +(defconstant group-warp-thruster-trail (-> *part-group-id-table* 210)) +(defconstant group-guard-shot-hit-object (-> *part-group-id-table* 211)) +(defconstant group-guard-shot-hit (-> *part-group-id-table* 212)) +(defconstant group-guard-grenade (-> *part-group-id-table* 213)) +(defconstant group-metalhead-shot-hit (-> *part-group-id-table* 214)) +(defconstant group-metalhead-shot-die (-> *part-group-id-table* 215)) +(defconstant group-metalhead-grenade-shot (-> *part-group-id-table* 216)) +(defconstant group-kg-huge-explosion (-> *part-group-id-table* 217)) +(defconstant group-kg-big-explosion (-> *part-group-id-table* 218)) +(defconstant group-kg-explosion (-> *part-group-id-table* 219)) +(defconstant group-kg-mid-explosion (-> *part-group-id-table* 220)) +(defconstant group-kg-small-explosion (-> *part-group-id-table* 221)) +(defconstant group-vehicle-explosion (-> *part-group-id-table* 224)) +(defconstant group-vehicle-engine-start (-> *part-group-id-table* 225)) +(defconstant group-prebot-launch-critter (-> *part-group-id-table* 1334)) +(defconstant group-part-wv-water-splash (-> *part-group-id-table* 226)) +(defconstant group-prebot-gun-shot-trail (-> *part-group-id-table* 1335)) +(defconstant group-gun-scorp-shells (-> *part-group-id-table* 227)) +(defconstant group-prebot-eco-pillar-heat-up (-> *part-group-id-table* 1336)) +(defconstant group-gun-scorp-shot-hit (-> *part-group-id-table* 228)) +(defconstant group-prebot-eco-pillar-grow (-> *part-group-id-table* 1337)) +(defconstant group-gun-scorp-shot-die (-> *part-group-id-table* 229)) +(defconstant group-prebot-eco-pillar-cool-down (-> *part-group-id-table* 1338)) +(defconstant group-toad-grenade-shot-explode (-> *part-group-id-table* 230)) +(defconstant group-prebot-stuck-flame (-> *part-group-id-table* 1339)) +(defconstant group-turbo-pickup (-> *part-group-id-table* 231)) +(defconstant group-prebot-chasm-explosion (-> *part-group-id-table* 1340)) +(defconstant group-turbo-pickup-explode (-> *part-group-id-table* 232)) +(defconstant group-final-prebot-chasm-explosion (-> *part-group-id-table* 1341)) +(defconstant group-temple-oracle-eye-open (-> *part-group-id-table* 683)) +(defconstant group-fma-lightjak-regen (-> *part-group-id-table* 684)) +(defconstant group-tpl-token-trail (-> *part-group-id-table* 685)) +(defconstant group-tpl-token (-> *part-group-id-table* 686)) +(defconstant group-tpl-token-pickup (-> *part-group-id-table* 687)) +(defconstant group-tpl-symbol (-> *part-group-id-table* 688)) +(defconstant group-tpl-symbol-touched (-> *part-group-id-table* 689)) +(defconstant group-temple-bridge-break-dust (-> *part-group-id-table* 700)) +(defconstant group-temple-bridge-break-kaboom (-> *part-group-id-table* 701)) +(defconstant group-templex-big-torch (-> *part-group-id-table* 690)) +(defconstant group-templex-fire-vase (-> *part-group-id-table* 691)) +(defconstant group-templex-fire-vase-large (-> *part-group-id-table* 692)) +(defconstant group-templex-fire-vase-small (-> *part-group-id-table* 693)) +(defconstant group-temple-waterfall-mist-fall (-> *part-group-id-table* 694)) +(defconstant group-temple-waterfall-splash (-> *part-group-id-table* 695)) +(defconstant group-temple-waterfall-mist-up (-> *part-group-id-table* 696)) +(defconstant group-temple-waterfall-mist-rainbow (-> *part-group-id-table* 697)) +(defconstant group-temple-break-dust (-> *part-group-id-table* 698)) +(defconstant group-temple-break-dust-trail (-> *part-group-id-table* 699)) +(defconstant group-glider-ring (-> *part-group-id-table* 652)) +(defconstant group-glider-ring-shootable (-> *part-group-id-table* 653)) +(defconstant group-distant-glider-ring (-> *part-group-id-table* 654)) +(defconstant group-glider-ring-explode (-> *part-group-id-table* 655)) +(defconstant group-wind-thermal (-> *part-group-id-table* 656)) +(defconstant group-glider-cloud (-> *part-group-id-table* 657)) +(defconstant group-glider-cloud-shadow (-> *part-group-id-table* 658)) +(defconstant group-volcano-smoke (-> *part-group-id-table* 659)) +(defconstant group-glider-blinking-dot (-> *part-group-id-table* 660)) +(defconstant group-indax-lava-death (-> *part-group-id-table* 233)) +(defconstant group-prebot-chasm-explosion-comets (-> *part-group-id-table* 1342)) +(defconstant group-volcano-embers (-> *part-group-id-table* 1386)) +(defconstant group-ctyind-rubble-smoke (-> *part-group-id-table* 277)) +(defconstant group-volcano-lantern-glow (-> *part-group-id-table* 1387)) +(defconstant group-ctyind-electric-arc (-> *part-group-id-table* 278)) +(defconstant group-lava-shoot (-> *part-group-id-table* 1388)) +(defconstant group-ctyslum-red-wall-light (-> *part-group-id-table* 279)) +(defconstant group-volcano-lava-ripples (-> *part-group-id-table* 1389)) +(defconstant group-ctyslum-blue-wall-light (-> *part-group-id-table* 280)) +(defconstant group-volcano-lava-bubbles (-> *part-group-id-table* 1390)) +(defconstant group-ctyslum-long-blue-light (-> *part-group-id-table* 281)) +(defconstant group-volcano-lava-splash (-> *part-group-id-table* 1391)) +(defconstant group-ctyslum-long-blue-lightb (-> *part-group-id-table* 282)) +(defconstant group-lavawave-falls (-> *part-group-id-table* 1392)) +(defconstant group-ctyslum-streetlight (-> *part-group-id-table* 283)) +(defconstant group-volcano-lava-rocks-heat (-> *part-group-id-table* 1393)) +(defconstant group-ctyslum-lamp-glow (-> *part-group-id-table* 284)) +(defconstant group-steam-geyser-shoot (-> *part-group-id-table* 1394)) +(defconstant group-ctyslum-yellow-light (-> *part-group-id-table* 285)) +(defconstant group-lava-ball-spout (-> *part-group-id-table* 1395)) +(defconstant group-ctyslum-steam-vent (-> *part-group-id-table* 286)) +(defconstant group-volcano-leaf-fall (-> *part-group-id-table* 1396)) +(defconstant group-ctyport-bulb-orange-glow (-> *part-group-id-table* 287)) +(defconstant group-vol-lava-ball (-> *part-group-id-table* 1397)) +(defconstant group-ctywide-green-chimney-smoke (-> *part-group-id-table* 288)) +(defconstant group-vol-break-ground (-> *part-group-id-table* 1398)) +(defconstant group-ctyslum-heater-haze (-> *part-group-id-table* 289)) +(defconstant group-monk-mummy-finger-dust (-> *part-group-id-table* 1399)) +(defconstant group-ctyslum-fan-haze (-> *part-group-id-table* 290)) +(defconstant group-fma-idol-eye-glow (-> *part-group-id-table* 1400)) +(defconstant group-ctyslum-small-fountain (-> *part-group-id-table* 291)) +(defconstant group-fma-idol-break (-> *part-group-id-table* 1401)) +(defconstant group-ctyslum-big-fountain (-> *part-group-id-table* 292)) +(defconstant group-volcano-rock-break-dust (-> *part-group-id-table* 1402)) +(defconstant group-ctyslum-big-fountain-top (-> *part-group-id-table* 293)) +(defconstant group-volcano-rock-land-dust (-> *part-group-id-table* 1403)) +(defconstant group-ctyslum-big-fountain-top-light (-> *part-group-id-table* 294)) +(defconstant group-fma-lava-splash (-> *part-group-id-table* 1404)) +(defconstant group-ctyslum-barrel-fire (-> *part-group-id-table* 295)) +(defconstant group-mantis-dust-puff (-> *part-group-id-table* 1405)) +(defconstant group-hijack-kgpickup-explode (-> *part-group-id-table* 296)) +(defconstant group-mantis-birth-nest (-> *part-group-id-table* 1406)) +(defconstant group-mh-tower-smoke-cty (-> *part-group-id-table* 297)) +(defconstant group-vol-holo-halo (-> *part-group-id-table* 1407)) +(defconstant group-pickup-sparks (-> *part-group-id-table* 298)) +(defconstant group-volcano-glider-dust (-> *part-group-id-table* 1408)) +(defconstant group-mhcity-door-explode (-> *part-group-id-table* 299)) +(defconstant group-volcano-glider-dust-ground (-> *part-group-id-table* 1409)) +(defconstant group-barrier-hand-shock (-> *part-group-id-table* 300)) +(defconstant group-land-jak-volcano (-> *part-group-id-table* 1410)) +(defconstant group-metal-head-egg-explosion (-> *part-group-id-table* 301)) +(defconstant group-volcanox-lantern-glow (-> *part-group-id-table* 1411)) +(defconstant group-fma-dark-eco-steam (-> *part-group-id-table* 302)) +(defconstant group-flitter-dust-puff (-> *part-group-id-table* 257)) +(defconstant group-flitter-birth (-> *part-group-id-table* 1412)) +(defconstant group-fma-hand-steam (-> *part-group-id-table* 303)) +(defconstant group-minb-light-glow (-> *part-group-id-table* 597)) +(defconstant group-min-target-sign-off (-> *part-group-id-table* 598)) +(defconstant group-min-target-sign-on (-> *part-group-id-table* 599)) +(defconstant group-minc-round-light-glow-always-on (-> *part-group-id-table* 600)) +(defconstant group-minc-round-light-glow (-> *part-group-id-table* 601)) +(defconstant group-minc-t-light-glow-always-on (-> *part-group-id-table* 602)) +(defconstant group-minc-t-light-glow (-> *part-group-id-table* 603)) +(defconstant group-bomb-train-explode (-> *part-group-id-table* 604)) +(defconstant group-bomb-train-sparks (-> *part-group-id-table* 605)) +(defconstant group-bomb-train-smoke (-> *part-group-id-table* 606)) +(defconstant group-bomb-train-light (-> *part-group-id-table* 607)) +(defconstant group-min-elec-gate (-> *part-group-id-table* 608)) +(defconstant group-min-door-explode (-> *part-group-id-table* 609)) +(defconstant group-min-door-trailer (-> *part-group-id-table* 610)) +(defconstant group-temp-1 (-> *part-group-id-table* 1345)) +(defconstant group-temp-4 (-> *part-group-id-table* 1348)) +(defconstant group-temp-5 (-> *part-group-id-table* 1349)) +(defconstant group-temp-6 (-> *part-group-id-table* 1350)) +(defconstant part-crimson-lightning-glow (-> *part-group-id-table* 254)) +(defconstant group-ctywide-stadium-light (-> *part-group-id-table* 258)) +(defconstant group-ctywide-baron-propoganda-holo (-> *part-group-id-table* 259)) +(defconstant group-ctywide-burning-bush-holo-on (-> *part-group-id-table* 260)) +(defconstant group-ctywide-burning-bush-holo-off (-> *part-group-id-table* 261)) +(defconstant group-ctywide-burning-bush-holo-red (-> *part-group-id-table* 262)) +(defconstant group-ctywide-palace-high-fire (-> *part-group-id-table* 263)) +(defconstant group-ctywide-misc-citylights-red-1 (-> *part-group-id-table* 264)) +(defconstant group-ctywide-misc-citylights-red-2 (-> *part-group-id-table* 265)) +(defconstant group-ctywide-misc-citylights-red-3 (-> *part-group-id-table* 266)) +(defconstant group-ctywide-misc-citylights-red-4 (-> *part-group-id-table* 267)) +(defconstant group-ctywide-misc-citylights-blue-1 (-> *part-group-id-table* 268)) +(defconstant group-ctywide-misc-citylights-blue-2 (-> *part-group-id-table* 269)) +(defconstant group-ctywide-misc-citylights-blue-3 (-> *part-group-id-table* 270)) +(defconstant group-ctywide-cable-lights (-> *part-group-id-table* 271)) +(defconstant group-slums-seal-of-mar-glow (-> *part-group-id-table* 272)) +(defconstant group-ctywide-chimney (-> *part-group-id-table* 273)) +(defconstant group-ctywide-chimney-smoke (-> *part-group-id-table* 274)) +(defconstant group-ctyind-sparks (-> *part-group-id-table* 275)) +(defconstant group-ctyind-hot-gas (-> *part-group-id-table* 276)) +(defconstant group-fma-dark-eco-fire (-> *part-group-id-table* 304)) +(defconstant group-gun-dummy-sparks (-> *part-group-id-table* 1413)) +(defconstant group-fma-dark-eco-fire-flash (-> *part-group-id-table* 305)) +(defconstant group-dummy-explode-cit-a (-> *part-group-id-table* 1414)) +(defconstant group-fma-cigar-smoke (-> *part-group-id-table* 306)) +(defconstant group-dummy-explode-cit-b (-> *part-group-id-table* 1415)) +(defconstant group-fma-city-barrier-explosion-big (-> *part-group-id-table* 307)) +(defconstant group-dummy-explode-cit-c (-> *part-group-id-table* 1416)) +(defconstant group-cara-thrusters (-> *part-group-id-table* 308)) +(defconstant group-dummy-explode-cit-d (-> *part-group-id-table* 1417)) +(defconstant group-truck-explosion (-> *part-group-id-table* 309)) +(defconstant group-dummy-explode-kg-big (-> *part-group-id-table* 1418)) +(defconstant group-mhcity-window-glow (-> *part-group-id-table* 310)) +(defconstant group-dummy-explode-kg-b (-> *part-group-id-table* 1419)) +(defconstant group-mhcity-eye-large-glow (-> *part-group-id-table* 311)) +(defconstant group-dummy-explode-kg-c (-> *part-group-id-table* 1420)) +(defconstant group-mhcity-eye-small-glow (-> *part-group-id-table* 312)) +(defconstant group-dummy-explode-kg-gun (-> *part-group-id-table* 1421)) +(defconstant group-mhcity-eye-building-glow (-> *part-group-id-table* 313)) +(defconstant group-dummy-explode-bomb-spider-shatter (-> *part-group-id-table* 1422)) +(defconstant group-mhcity-eye-smallest-glow (-> *part-group-id-table* 314)) +(defconstant group-dummy-explode-kg-bonus (-> *part-group-id-table* 1423)) +(defconstant group-mhcity-green-chimney-smoke (-> *part-group-id-table* 315)) +(defconstant group-dummy-explode-bomb-spider-explode (-> *part-group-id-table* 1424)) +(defconstant group-mhcity-door-steam (-> *part-group-id-table* 316)) +(defconstant group-gun-dummy-shield-explode (-> *part-group-id-table* 1425)) +(defconstant group-mhcity-upper-ground-vent (-> *part-group-id-table* 317)) +(defconstant group-gungame-vent (-> *part-group-id-table* 1426)) +(defconstant group-mhcity-coping-vent (-> *part-group-id-table* 318)) +(defconstant group-gungame-overhead-lights (-> *part-group-id-table* 1427)) +(defconstant group-puffer-hard-blowing-steam (-> *part-group-id-table* 319)) +(defconstant group-gungame-pipespew (-> *part-group-id-table* 1428)) +(defconstant group-mhcity-goo-wall-bubbles (-> *part-group-id-table* 320)) +(defconstant group-gungame-blue-lights (-> *part-group-id-table* 1429)) +(defconstant group-mhcity-goo-small-bubbles (-> *part-group-id-table* 321)) +(defconstant group-fma-daxter-guncourse-slide-dust (-> *part-group-id-table* 1430)) +(defconstant group-mhcity-goo-medium-bubbles (-> *part-group-id-table* 322)) +(defconstant group-fma-daxter-guncourse-land-dust (-> *part-group-id-table* 1431)) +(defconstant group-mhcity-goo-bubbles-boogers (-> *part-group-id-table* 323)) +(defconstant group-mhcity-goo-bubbles-boogers-single (-> *part-group-id-table* 324)) +(defconstant group-puffer-egg-explode (-> *part-group-id-table* 325)) +(defconstant group-mhcity-nodule-hit (-> *part-group-id-table* 326)) +(defconstant group-mhcity-door-break-door-bust (-> *part-group-id-table* 327)) +(defconstant group-mhcity-dark-eco-door (-> *part-group-id-table* 328)) +(defconstant group-krimson-wall (-> *part-group-id-table* 329)) +(defconstant group-ctygenb-barrel-fire (-> *part-group-id-table* 929)) +(defconstant group-ctygenb-ground-vent-base (-> *part-group-id-table* 930)) +(defconstant group-ctygenb-ground-light (-> *part-group-id-table* 931)) +(defconstant group-ctygenb-red-light-small (-> *part-group-id-table* 932)) +(defconstant group-ctygenb-blue-light-wall (-> *part-group-id-table* 933)) +(defconstant group-ctygenb-blue-street-lamp (-> *part-group-id-table* 934)) +(defconstant group-ctygenb-steady-street-lamp (-> *part-group-id-table* 935)) +(defconstant group-ctygenb-flickering-street-lamp (-> *part-group-id-table* 936)) +(defconstant group-ctygenb-blue-vents-pipe-bent (-> *part-group-id-table* 937)) +(defconstant group-ctygenb-blue-vents-wall (-> *part-group-id-table* 938)) +(defconstant group-ctygenb-sign-8x4 (-> *part-group-id-table* 939)) +(defconstant group-ctygenb-sign-4x8 (-> *part-group-id-table* 940)) +(defconstant group-ctygenb-sign-4x4 (-> *part-group-id-table* 941)) +(defconstant group-ctygenb-ticker-horizontal (-> *part-group-id-table* 942)) +(defconstant group-ctygenb-ticker-vertical (-> *part-group-id-table* 943)) +(defconstant group-ctygenb-ground-vent-square (-> *part-group-id-table* 944)) +(defconstant group-ctygenb-under-bridge-light (-> *part-group-id-table* 945)) +(defconstant group-ctygenb-flickering-under-bridge-light (-> *part-group-id-table* 946)) +(defconstant group-ctygenb-rubble-smoke (-> *part-group-id-table* 947)) +(defconstant group-ctygenb-rubble-crater-smoke (-> *part-group-id-table* 948)) +(defconstant group-ctygenb-sparks (-> *part-group-id-table* 949)) +(defconstant group-rubble-sparks-large (-> *part-group-id-table* 950)) +(defconstant group-ctyinda-tri-red-light (-> *part-group-id-table* 1078)) +(defconstant group-ctyinda-tri-yellow-light (-> *part-group-id-table* 1079)) +(defconstant group-ctyinda-red-lights (-> *part-group-id-table* 1080)) +(defconstant group-ctyinda-blue-lights (-> *part-group-id-table* 1081)) +(defconstant group-ctyinda-wide-glows-yellow (-> *part-group-id-table* 1082)) +(defconstant group-ctyinda-sign-fashion-8x4 (-> *part-group-id-table* 1083)) +(defconstant group-ctyinda-sign-praxis-banner-4x8 (-> *part-group-id-table* 1084)) +(defconstant group-ctyinda-sign-onin-knows-4x4 (-> *part-group-id-table* 1085)) +(defconstant group-ctyinda-chimney (-> *part-group-id-table* 1086)) +(defconstant group-ctyinda-chimney-smoke (-> *part-group-id-table* 1087)) +(defconstant group-ctyinda-chimney-small (-> *part-group-id-table* 1088)) +(defconstant group-ctyinda-red-big-lights-1 (-> *part-group-id-table* 1089)) +(defconstant group-ctyinda-red-big-lights-2 (-> *part-group-id-table* 1090)) +(defconstant group-ctyinda-red-big-lights-3 (-> *part-group-id-table* 1091)) +(defconstant group-ctyinda-red-big-lights-4 (-> *part-group-id-table* 1092)) +(defconstant group-ctyinda-red-big-lights-5 (-> *part-group-id-table* 1093)) +(defconstant group-ctyinda-red-big-lights-6 (-> *part-group-id-table* 1094)) +(defconstant group-ctyinda-smokestack (-> *part-group-id-table* 1095)) +(defconstant group-ctyinda-squarevent (-> *part-group-id-table* 1096)) +(defconstant group-ctyinda-bulb-red-glow (-> *part-group-id-table* 1097)) +(defconstant group-ctyinda-bulb-red-glow-pulse (-> *part-group-id-table* 1098)) +(defconstant group-ctyinda-glowlite-yellow-glow (-> *part-group-id-table* 1099)) +(defconstant group-ctyinda-fast-steam (-> *part-group-id-table* 1100)) +(defconstant group-ctyinda-rising-steam (-> *part-group-id-table* 1101)) +(defconstant group-ctyinda-steam-drift (-> *part-group-id-table* 1102)) +(defconstant group-ctyinda-red-floor-vent (-> *part-group-id-table* 1103)) +(defconstant group-ctyindb-red-floor-vent (-> *part-group-id-table* 1104)) +(defconstant group-ctyindb-red-lights (-> *part-group-id-table* 1105)) +(defconstant group-ctyindb-tri-red-light (-> *part-group-id-table* 1106)) +(defconstant group-ctyindb-tri-yellow-light (-> *part-group-id-table* 1107)) +(defconstant group-ctyindb-blue-lights (-> *part-group-id-table* 1108)) +(defconstant group-ctyindb-wide-glows-yellow (-> *part-group-id-table* 1109)) +(defconstant group-ctyport-roundvent (-> *part-group-id-table* 1030)) +(defconstant group-ctyport-roundvent-small (-> *part-group-id-table* 1031)) +(defconstant group-ctyport-low-vent (-> *part-group-id-table* 1032)) +(defconstant group-ctyport-waterspout (-> *part-group-id-table* 1033)) +(defconstant group-ctyport-chimney (-> *part-group-id-table* 1034)) +(defconstant group-ctyport-chimney-smoke (-> *part-group-id-table* 1035)) +(defconstant group-ctyport-drip (-> *part-group-id-table* 1036)) +(defconstant group-ctyport-blue-floor-vent (-> *part-group-id-table* 1037)) +(defconstant group-ctyport-blue-floor-vent-small (-> *part-group-id-table* 1038)) +(defconstant group-ctyport-red-big-lights-1 (-> *part-group-id-table* 1039)) +(defconstant group-ctyport-red-big-lights-2 (-> *part-group-id-table* 1040)) +(defconstant group-ctyport-red-big-lights-3 (-> *part-group-id-table* 1041)) +(defconstant group-ctyport-red-big-lights-4 (-> *part-group-id-table* 1042)) +(defconstant group-ctyport-red-big-lights-5 (-> *part-group-id-table* 1043)) +(defconstant group-ctyport-red-big-lights-6 (-> *part-group-id-table* 1044)) +(defconstant group-ctyport-blue-big-lights-1 (-> *part-group-id-table* 1045)) +(defconstant group-ctyport-blue-big-lights-2 (-> *part-group-id-table* 1046)) +(defconstant group-ctyport-blue-big-lights-3 (-> *part-group-id-table* 1047)) +(defconstant group-ctyport-blue-big-lights-4 (-> *part-group-id-table* 1048)) +(defconstant group-ctyport-blue-big-lights-5 (-> *part-group-id-table* 1049)) +(defconstant group-ctyport-blue-big-lights-6 (-> *part-group-id-table* 1050)) +(defconstant group-ctyport-red-lights (-> *part-group-id-table* 1051)) +(defconstant group-ctyport-blue-lights (-> *part-group-id-table* 1052)) +(defconstant group-ctyport-long-blue-lights (-> *part-group-id-table* 1053)) +(defconstant group-ctyport-green-lights (-> *part-group-id-table* 1054)) +(defconstant group-ctyport-green-lights-2 (-> *part-group-id-table* 1055)) +(defconstant group-ctyport-sign-arrows-8x4 (-> *part-group-id-table* 1056)) +(defconstant group-ctyport-hiphog-marquee-daxter (-> *part-group-id-table* 1057)) +(defconstant group-ctyport-rubble-crater-smoke (-> *part-group-id-table* 1058)) +(defconstant group-ctyport-wreckage-smoke (-> *part-group-id-table* 1059)) +(defconstant group-ctyport-blinking-red-glow (-> *part-group-id-table* 1061)) +(defconstant group-ctyport-citylights-blue-1 (-> *part-group-id-table* 1062)) +(defconstant group-ctyport-citylights-blue-2 (-> *part-group-id-table* 1063)) +(defconstant group-ctyport-citylights-blue-3 (-> *part-group-id-table* 1064)) +(defconstant group-ctyport-citylights-blue-4 (-> *part-group-id-table* 1065)) +(defconstant group-ctyport-rubble-fire (-> *part-group-id-table* 1066)) +(defconstant group-ctyport-red-tits-glow (-> *part-group-id-table* 1067)) +(defconstant group-ctyport-yellow-glow-pulse (-> *part-group-id-table* 1068)) +(defconstant group-ctyport-blue-glow (-> *part-group-id-table* 1069)) +(defconstant group-fma-missile-launch-thruster (-> *part-group-id-table* 1070)) +(defconstant group-fma-missile-launch-trail (-> *part-group-id-table* 1071)) +(defconstant group-krimson-wall-fma (-> *part-group-id-table* 1072)) +(defconstant group-scenes-daxter-crush-dust (-> *part-group-id-table* 1073)) +(defconstant group-fma-missile-thruster-fire (-> *part-group-id-table* 1074)) +(defconstant group-hijak-fma-missile-trail (-> *part-group-id-table* 1075)) +(defconstant group-daxter-sign-explosion (-> *part-group-id-table* 1076)) +(defconstant group-fma-barrier-explosion-big (-> *part-group-id-table* 1077)) +(defconstant group-ctysluma-barrel-fire (-> *part-group-id-table* 951)) +(defconstant group-ctysluma-streetlight-glows (-> *part-group-id-table* 952)) +(defconstant group-ctysluma-steamescape (-> *part-group-id-table* 953)) +(defconstant group-ctysluma-steam-drift (-> *part-group-id-table* 954)) +(defconstant group-ctysluma-steamvent (-> *part-group-id-table* 955)) +(defconstant group-ctysluma-shootout-fire-blue (-> *part-group-id-table* 956)) +(defconstant group-ctysluma-shootout-fire-red (-> *part-group-id-table* 957)) +(defconstant group-ctyslum-rubble-crater-smoke (-> *part-group-id-table* 958)) +(defconstant group-ctyslum-rubble-smoke (-> *part-group-id-table* 959)) +(defconstant group-ctyslum-rubble-smoke-lit (-> *part-group-id-table* 960)) +(defconstant group-ctyslum-rubble-fire (-> *part-group-id-table* 961)) +(defconstant group-ctysluma-spray (-> *part-group-id-table* 962)) +(defconstant group-ctysluma-spray-check-userdata-8 (-> *part-group-id-table* 963)) +(defconstant group-ctysluma-chimney (-> *part-group-id-table* 964)) +(defconstant group-ctysluma-chimney-smoke (-> *part-group-id-table* 965)) +(defconstant group-ctysluma-sign-m5-8x4 (-> *part-group-id-table* 966)) +(defconstant group-ctysluma-sign-metalhead-8x4 (-> *part-group-id-table* 967)) +(defconstant group-ctysluma-sign-crimson-4x8 (-> *part-group-id-table* 968)) +(defconstant group-ctysluma-sign-doctors-4x4 (-> *part-group-id-table* 969)) +(defconstant group-ctysluma-sign-hiphog-4x4 (-> *part-group-id-table* 970)) +(defconstant group-ctysluma-sign-blank-4x4 (-> *part-group-id-table* 971)) +(defconstant group-neon-baron (-> *part-group-id-table* 972)) +(defconstant group-ctyslumb-barrel-fire (-> *part-group-id-table* 973)) +(defconstant group-ctyslumb-streetlight-glows (-> *part-group-id-table* 974)) +(defconstant group-ctyslumb-chimney (-> *part-group-id-table* 975)) +(defconstant group-ctyslumb-chimney-smoke (-> *part-group-id-table* 976)) +(defconstant group-sign-ctyslumb-square-a (-> *part-group-id-table* 977)) +(defconstant group-sign-ctyslumb-square-b (-> *part-group-id-table* 978)) +(defconstant group-sign-ctyslumb-wide-a (-> *part-group-id-table* 979)) +(defconstant group-sign-ctyslumb-wide-b (-> *part-group-id-table* 980)) +(defconstant group-sign-ctyslumb-tall-a (-> *part-group-id-table* 981)) +(defconstant group-sign-ctyslumb-tall-b (-> *part-group-id-table* 982)) +(defconstant group-ctyslumb-steamescape (-> *part-group-id-table* 983)) +(defconstant group-ctyslumb-spray (-> *part-group-id-table* 984)) +(defconstant group-ctyslumb-spray-check-userdata-8 (-> *part-group-id-table* 985)) +(defconstant group-ctyslumc-streetlight-glows (-> *part-group-id-table* 986)) +(defconstant group-ctyslumc-chimney (-> *part-group-id-table* 987)) +(defconstant group-ctyslumc-chimney-smoke (-> *part-group-id-table* 988)) +(defconstant group-sign-ctyslumc-big-a (-> *part-group-id-table* 989)) +(defconstant group-sign-ctyslumc-big-b (-> *part-group-id-table* 990)) +(defconstant group-sign-ctyslumc-square-a (-> *part-group-id-table* 991)) +(defconstant group-sign-ctyslumc-square-b (-> *part-group-id-table* 992)) +(defconstant group-sign-ctyslumc-wide-a (-> *part-group-id-table* 993)) +(defconstant group-sign-ctyslumc-wide-b (-> *part-group-id-table* 994)) +(defconstant group-sign-ctyslumc-tall-a (-> *part-group-id-table* 995)) +(defconstant group-sign-ctyslumc-tall-b (-> *part-group-id-table* 996)) +(defconstant group-gunship-target-explode (-> *part-group-id-table* 997)) +(defconstant group-onin-candle (-> *part-group-id-table* 913)) +(defconstant group-onin-octopus-tank-bubbles (-> *part-group-id-table* 914)) +(defconstant group-onin-big-tank-bubbles (-> *part-group-id-table* 915)) +(defconstant group-onin-medium-tank-bubbles (-> *part-group-id-table* 916)) +(defconstant group-onin-short-tank-bubbles (-> *part-group-id-table* 917)) +(defconstant group-onin-mini-tank-bubbles (-> *part-group-id-table* 918)) +(defconstant group-onin-flashpot (-> *part-group-id-table* 919)) +(defconstant group-onin-heatpot (-> *part-group-id-table* 920)) +(defconstant group-onin-tiki (-> *part-group-id-table* 921)) +(defconstant group-onin-bird-top (-> *part-group-id-table* 922)) +(defconstant group-onin-bird-cage (-> *part-group-id-table* 923)) +(defconstant group-onin-bugs (-> *part-group-id-table* 924)) +(defconstant group-onin-clap-effect (-> *part-group-id-table* 925)) +(defconstant group-onin-big-clap-effect (-> *part-group-id-table* 926)) +(defconstant group-onin-finger-effect (-> *part-group-id-table* 927)) +(defconstant group-onin-small-finger-effect (-> *part-group-id-table* 928)) +(defconstant group-vinroom-monitor-sparks (-> *part-group-id-table* 870)) +(defconstant group-vinroom-console-1 (-> *part-group-id-table* 871)) +(defconstant group-vinroom-console-2 (-> *part-group-id-table* 872)) +(defconstant group-vinroom-tv-matrix (-> *part-group-id-table* 873)) +(defconstant group-vinroom-tv-code (-> *part-group-id-table* 874)) +(defconstant group-vinroom-tv-2dcode (-> *part-group-id-table* 875)) +(defconstant group-vinroom-tv-dots (-> *part-group-id-table* 876)) +(defconstant group-vinroom-tv-bargraph (-> *part-group-id-table* 877)) +(defconstant group-vinroom-tv-numbers (-> *part-group-id-table* 878)) +(defconstant group-vinroom-tv-radar (-> *part-group-id-table* 879)) +(defconstant group-vinroom-tv-threebar-1 (-> *part-group-id-table* 880)) +(defconstant group-vinroom-tv-threebar-2 (-> *part-group-id-table* 881)) +(defconstant group-vinroom-tv-threebar-3 (-> *part-group-id-table* 882)) +(defconstant group-vinroom-tv-splitdots (-> *part-group-id-table* 883)) +(defconstant group-vinroom-tv-smallradar (-> *part-group-id-table* 884)) +(defconstant group-vinroom-tv-final (-> *part-group-id-table* 885)) +(defconstant group-vinroom-center-sphere (-> *part-group-id-table* 886)) +(defconstant group-vinroom-console-little-red-light-1 (-> *part-group-id-table* 887)) +(defconstant group-vinroom-console-little-red-light-2 (-> *part-group-id-table* 888)) +(defconstant group-vinroom-console-little-red-light-3 (-> *part-group-id-table* 889)) +(defconstant group-vinroom-console-little-red-light-4 (-> *part-group-id-table* 890)) +(defconstant group-vinroom-console-little-red-light-5 (-> *part-group-id-table* 891)) +(defconstant group-vinroom-console-little-red-light-6 (-> *part-group-id-table* 892)) +(defconstant group-vinroom-console-little-red-light-7 (-> *part-group-id-table* 893)) +(defconstant group-vinroom-console-little-red-light-8 (-> *part-group-id-table* 894)) +(defconstant group-vinroom-console-blue-light-1 (-> *part-group-id-table* 895)) +(defconstant group-vinroom-console-blue-light-2 (-> *part-group-id-table* 896)) +(defconstant group-vinroom-console-blue-light-3 (-> *part-group-id-table* 897)) +(defconstant group-vinroom-console-blue-light-4 (-> *part-group-id-table* 898)) +(defconstant group-vinroom-console-blue-light-5 (-> *part-group-id-table* 899)) +(defconstant group-vinroom-console-blue-light-6 (-> *part-group-id-table* 900)) +(defconstant group-vinroom-console-blue-light-7 (-> *part-group-id-table* 901)) +(defconstant group-vinroom-console-blue-light-8 (-> *part-group-id-table* 902)) +(defconstant group-vinroom-console-orb (-> *part-group-id-table* 903)) +(defconstant group-vinroom-console-top-panel (-> *part-group-id-table* 904)) +(defconstant group-vinroom-red-wall-lights (-> *part-group-id-table* 905)) +(defconstant group-vinroom-red-wall-lights-small (-> *part-group-id-table* 906)) +(defconstant group-switcher-charge (-> *part-group-id-table* 907)) +(defconstant group-switcher-die (-> *part-group-id-table* 908)) +(defconstant group-glyph-charge (-> *part-group-id-table* 909)) +(defconstant group-glyph-die (-> *part-group-id-table* 910)) +(defconstant group-player-die (-> *part-group-id-table* 911)) +(defconstant group-power-scoreboard-points (-> *part-group-id-table* 912)) +(defconstant group-hiphog-blue-glow (-> *part-group-id-table* 848)) +(defconstant group-hiphog-rtablea (-> *part-group-id-table* 849)) +(defconstant group-hiphog-rtableb (-> *part-group-id-table* 850)) +(defconstant group-hiphog-rtablec (-> *part-group-id-table* 851)) +(defconstant group-hiphog-bigtable (-> *part-group-id-table* 852)) +(defconstant group-hiphog-center-sphere (-> *part-group-id-table* 853)) +(defconstant group-cigar-glow (-> *part-group-id-table* 854)) +(defconstant group-cigar-smoke (-> *part-group-id-table* 855)) +(defconstant group-cigar-smoke-blow (-> *part-group-id-table* 856)) +(defconstant group-cigar-ashes (-> *part-group-id-table* 857)) +(defconstant group-cigar-ashes-spit (-> *part-group-id-table* 858)) +(defconstant group-hiphog-red-light (-> *part-group-id-table* 859)) +(defconstant group-hiphog-ceiling-light (-> *part-group-id-table* 860)) +(defconstant group-hiphog-booth-ceiling-light (-> *part-group-id-table* 861)) +(defconstant group-hiphog-booth-wall-light (-> *part-group-id-table* 862)) +(defconstant group-hiphog-bar-light (-> *part-group-id-table* 863)) +(defconstant group-hiphog-booth-table-light (-> *part-group-id-table* 864)) +(defconstant group-hiphog-floor-light (-> *part-group-id-table* 865)) +(defconstant group-hiphog-neon-clock (-> *part-group-id-table* 866)) +(defconstant group-hiphog-neon-clock-small (-> *part-group-id-table* 867)) +(defconstant group-hiphog-mirror (-> *part-group-id-table* 868)) +(defconstant group-fma-hiphog-holo-glow (-> *part-group-id-table* 869)) +(defconstant group-freehq-center-sphere (-> *part-group-id-table* 808)) +(defconstant group-freehq-smalla (-> *part-group-id-table* 809)) +(defconstant group-freehq-smallb (-> *part-group-id-table* 810)) +(defconstant group-freehq-smallc (-> *part-group-id-table* 811)) +(defconstant group-freehq-smalld (-> *part-group-id-table* 812)) +(defconstant group-freehq-rtablea (-> *part-group-id-table* 813)) +(defconstant group-freehq-rtableb (-> *part-group-id-table* 814)) +(defconstant group-freehq-rtablec (-> *part-group-id-table* 815)) +(defconstant group-freehq-rtabled (-> *part-group-id-table* 816)) +(defconstant group-freehq-mediuma (-> *part-group-id-table* 817)) +(defconstant group-freehq-mediumb (-> *part-group-id-table* 818)) +(defconstant group-freehq-mediumc (-> *part-group-id-table* 819)) +(defconstant group-freehq-mediumd (-> *part-group-id-table* 820)) +(defconstant group-freehq-biga (-> *part-group-id-table* 821)) +(defconstant group-freehq-bigb (-> *part-group-id-table* 822)) +(defconstant group-freehq-bigc (-> *part-group-id-table* 823)) +(defconstant group-freehq-giant (-> *part-group-id-table* 824)) +(defconstant group-freehq-bigtable (-> *part-group-id-table* 825)) +(defconstant group-freehq-console-green-light-1 (-> *part-group-id-table* 826)) +(defconstant group-freehq-console-green-light-2 (-> *part-group-id-table* 827)) +(defconstant group-freehq-console-green-light-3 (-> *part-group-id-table* 828)) +(defconstant group-freehq-console-green-light-4 (-> *part-group-id-table* 829)) +(defconstant group-freehq-console-green-light-5 (-> *part-group-id-table* 830)) +(defconstant group-freehq-console-green-light-6 (-> *part-group-id-table* 831)) +(defconstant group-freehq-console-green-light-7 (-> *part-group-id-table* 832)) +(defconstant group-freehq-console-green-light-8 (-> *part-group-id-table* 833)) +(defconstant group-freehq-console-blue-light-1 (-> *part-group-id-table* 834)) +(defconstant group-freehq-console-blue-light-2 (-> *part-group-id-table* 835)) +(defconstant group-freehq-console-blue-light-3 (-> *part-group-id-table* 836)) +(defconstant group-freehq-console-blue-light-4 (-> *part-group-id-table* 837)) +(defconstant group-freehq-console-blue-light-5 (-> *part-group-id-table* 838)) +(defconstant group-freehq-console-blue-light-6 (-> *part-group-id-table* 839)) +(defconstant group-freehq-console-blue-light-7 (-> *part-group-id-table* 840)) +(defconstant group-freehq-console-blue-light-8 (-> *part-group-id-table* 841)) +(defconstant group-freehq-red-wall-light (-> *part-group-id-table* 842)) +(defconstant group-freehq-white-wall-light-top (-> *part-group-id-table* 843)) +(defconstant group-freehq-white-wall-light-bottom (-> *part-group-id-table* 844)) +(defconstant group-freehq-red-wall-lights (-> *part-group-id-table* 845)) +(defconstant groupfreehq-onin-finger-effect (-> *part-group-id-table* 846)) +(defconstant groupfreehq-onin-small-finger-effect (-> *part-group-id-table* 847)) +(defconstant group-roboguard-armor-explode (-> *part-group-id-table* 223)) +(defconstant group-robo-gun-smoke (-> *part-group-id-table* 558)) +(defconstant group-robo-gun-casing (-> *part-group-id-table* 559)) +(defconstant group-robo-engine (-> *part-group-id-table* 560)) +(defconstant group-mh-wasp-shot-die (-> *part-group-id-table* 1526)) +(defconstant group-plant-seed-explode (-> *part-group-id-table* 561)) +(defconstant group-plant-spore-explode (-> *part-group-id-table* 562)) +(defconstant group-plant-seed-tunnel (-> *part-group-id-table* 563)) +(defconstant group-neo-egg-explode (-> *part-group-id-table* 564)) +(defconstant group-neo-spawner-explode (-> *part-group-id-table* 565)) +(defconstant group-neo-spawner-spit (-> *part-group-id-table* 566)) +(defconstant group-neo-spawner-dead (-> *part-group-id-table* 567)) +(defconstant group-forest-leaf-fall (-> *part-group-id-table* 568)) +(defconstant group-forest-leaf-fall-water (-> *part-group-id-table* 569)) +(defconstant group-forest-leaf-water-hit (-> *part-group-id-table* 570)) + diff --git a/goal_src/jak3/engine/debug/debug.gc b/goal_src/jak3/engine/debug/debug.gc index 0f26768d27..a8feb5b849 100644 --- a/goal_src/jak3/engine/debug/debug.gc +++ b/goal_src/jak3/engine/debug/debug.gc @@ -838,6 +838,11 @@ (defun-debug add-debug-text-3d ((enable symbol) (bucket bucket-id) (text string) (pos vector) (color font-color) (offset vector2h)) "Draw debug text." (when (and enable (not *display-capture-mode*)) + (#when PC_PORT + ;; Check to see if the string should be filtered or not + (when (pc-filter-debug-string? text (vector-vector-distance pos (target-pos 0))) + ;; no-op the function! + (return #f))) (cond (*debug-draw-pauseable* (let ((v1-4 (get-debug-text-3d))) diff --git a/goal_src/jak3/engine/game/idle-control.gc b/goal_src/jak3/engine/game/idle-control.gc index c1754850a7..6ab0e31d28 100644 --- a/goal_src/jak3/engine/game/idle-control.gc +++ b/goal_src/jak3/engine/game/idle-control.gc @@ -55,11 +55,14 @@ ;; WARN: Function (method 10 idle-control) has a return type of none, but the expression builder found a return statement. (defmethod play-idle-frames! ((this idle-control) (arg0 process-drawable)) "Set the process pointer to the given [[process-drawable]] and run the idle frames for it." + (local-vars (p process)) (when (nonzero? (-> this anim)) ;; og:preserve-this - (protect (PP) + (with-pp + (set! p pp) + (set! pp arg0) ;; (set! self arg0) - (set! PP arg0) + ;; (set! PP arg0) (loop (let ((s4-0 (-> this anim (-> this current-index)))) (case (-> s4-0 command) @@ -120,6 +123,7 @@ ) ;; og:preserve-this ;; (set! self s5-0) + (set! pp p) ) ) 0 diff --git a/goal_src/jak3/engine/game/task/task-arrow.gc b/goal_src/jak3/engine/game/task/task-arrow.gc index 1a4bd9dda5..0d601f8f6c 100644 --- a/goal_src/jak3/engine/game/task/task-arrow.gc +++ b/goal_src/jak3/engine/game/task/task-arrow.gc @@ -398,7 +398,7 @@ (if (not (logtest? (-> self flags) (task-arrow-flags taf5))) (set! (-> self minimap) (add-icon! *minimap* self (-> arg0 map-icon) (the-as int #f) (the-as vector #t) 0)) ) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 123) self)) + (set! (-> self part) (create-launch-control group-rod-of-god self)) (initialize-skeleton self (the-as skeleton-group (art-group-get-by-name *level* "skel-rod-of-god" (the-as (pointer level) #f))) diff --git a/goal_src/jak3/engine/gfx/sprite/particles/sparticle-launcher-h.gc b/goal_src/jak3/engine/gfx/sprite/particles/sparticle-launcher-h.gc index 1e566f9e31..44f9565489 100644 --- a/goal_src/jak3/engine/gfx/sprite/particles/sparticle-launcher-h.gc +++ b/goal_src/jak3/engine/gfx/sprite/particles/sparticle-launcher-h.gc @@ -202,7 +202,7 @@ &key (rotate (0.0 0.0 0.0)) &key (scale (1.0 1.0 1.0))) "define a new part group. defines a constant with the name of the group with the ID as its value" `(begin - (defconstant ,name ,id) + ; (defconstant ,name ,id) (set! (-> *part-group-id-table* ,id) (new 'static 'sparticle-launch-group :duration ,duration diff --git a/goal_src/jak3/engine/target/board/board-states.gc b/goal_src/jak3/engine/target/board/board-states.gc index 05377aa138..04b0ac03c3 100644 --- a/goal_src/jak3/engine/target/board/board-states.gc +++ b/goal_src/jak3/engine/target/board/board-states.gc @@ -429,13 +429,13 @@ (vector-copy! gp-2 (-> self control trans)) (+! (-> gp-2 y) 2048.0) (cond - ((logtest? (-> *part-group-id-table* 189 flags) (sp-group-flag sp13)) + ((logtest? (-> group-board-land-straight flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) gp-2) - (part-tracker-spawn part-tracker-subsampler :to self :group (-> *part-group-id-table* 189)) + (part-tracker-spawn part-tracker-subsampler :to self :group group-board-land-straight) ) (else (vector-copy! (-> *launch-matrix* trans) gp-2) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 189)) + (part-tracker-spawn part-tracker :to self :group group-board-land-straight) ) ) (let ((s5-3 (process-spawn @@ -839,17 +839,17 @@ ) (sound-play "board-launch") (when (!= (-> self board charge-progress) 0.0) - (if (logtest? (-> *part-group-id-table* 191 flags) (sp-group-flag sp13)) + (if (logtest? (-> group-board-launch flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to self - :group (-> *part-group-id-table* 191) + :group group-board-launch :mat-joint (-> self node-list data 0 bone transform) ) (part-tracker-spawn part-tracker :to self - :group (-> *part-group-id-table* 191) + :group group-board-launch :mat-joint (-> self node-list data 0 bone transform) ) ) @@ -950,17 +950,17 @@ (when (and (cpad-hold? (-> self control cpad number) l1) (!= (-> self board charge-progress) 0.0)) (+! f30-0 (* (-> self board charge-progress) (-> *TARGET_BOARD-bank* charge-jump-height))) (sound-play "board-launch") - (if (logtest? (-> *part-group-id-table* 191 flags) (sp-group-flag sp13)) + (if (logtest? (-> group-board-launch flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to self - :group (-> *part-group-id-table* 191) + :group group-board-launch :mat-joint (-> self node-list data 0 bone transform) ) (part-tracker-spawn part-tracker :to self - :group (-> *part-group-id-table* 191) + :group group-board-launch :mat-joint (-> self node-list data 0 bone transform) ) ) @@ -976,13 +976,13 @@ (vector-copy! s3-5 (-> self control trans)) (+! (-> s3-5 y) 2048.0) (cond - ((logtest? (-> *part-group-id-table* 190 flags) (sp-group-flag sp13)) + ((logtest? (-> group-board-quick-jump flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) s3-5) - (part-tracker-spawn part-tracker-subsampler :to self :group (-> *part-group-id-table* 190)) + (part-tracker-spawn part-tracker-subsampler :to self :group group-board-quick-jump) ) (else (vector-copy! (-> *launch-matrix* trans) s3-5) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 190)) + (part-tracker-spawn part-tracker :to self :group group-board-quick-jump) ) ) (let* ((s1-1 (get-process *default-dead-pool* manipy #x20000 1)) diff --git a/goal_src/jak3/engine/target/board/target-board.gc b/goal_src/jak3/engine/target/board/target-board.gc index 7488234c62..06428e83bb 100644 --- a/goal_src/jak3/engine/target/board/target-board.gc +++ b/goal_src/jak3/engine/target/board/target-board.gc @@ -647,15 +647,15 @@ ) (case (-> self control danger-mode) (('board-spin) - (if (logtest? (-> *part-group-id-table* 184 flags) (sp-group-flag sp13)) + (if (logtest? (-> group-board-spin-attack flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to self - :group (-> *part-group-id-table* 184) + :group group-board-spin-attack :target self :mat-joint 37 ) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 184) :target self :mat-joint 37) + (part-tracker-spawn part-tracker :to self :group group-board-spin-attack :target self :mat-joint 37) ) ) ) @@ -841,10 +841,10 @@ (set! (-> self board upper-body) (new 'process 'joint-mod (joint-mod-mode flex-blend) self 5)) ) (if (zero? (-> self board effect-part)) - (set! (-> self board effect-part) (create-launch-control (-> *part-group-id-table* 185) self)) + (set! (-> self board effect-part) (create-launch-control group-target-board self)) ) (if (zero? (-> self board charge-part)) - (set! (-> self board charge-part) (create-launch-control (-> *part-group-id-table* 186) self)) + (set! (-> self board charge-part) (create-launch-control group-target-board-duck-charge self)) ) (mode-set! (-> self board main) (joint-mod-mode flex-blend)) (mode-set! (-> self board upper-body) (joint-mod-mode flex-blend)) @@ -1506,13 +1506,13 @@ (set! (-> self board shock-offset) -3072.0) (set! (-> self board shock-offsetv) 0.0) (cond - ((logtest? (-> *part-group-id-table* 23 flags) (sp-group-flag sp13)) + ((logtest? (-> group-land-poof-stn flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self control trans)) - (part-tracker-spawn part-tracker-subsampler :to self :group (-> *part-group-id-table* 23)) + (part-tracker-spawn part-tracker-subsampler :to self :group group-land-poof-stn) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self control trans)) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 23)) + (part-tracker-spawn part-tracker :to self :group group-land-poof-stn) ) ) ) @@ -2165,30 +2165,24 @@ (focus-test? self board) (< 0.0 (-> self fact eco-green)) ) - (if (logtest? (-> *part-group-id-table* 187 flags) (sp-group-flag sp13)) + (if (logtest? (-> group-board-green-eco-zap-attack flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to self - :group (-> *part-group-id-table* 187) + :group group-board-green-eco-zap-attack :target self :mat-joint 37 ) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 187) :target self :mat-joint 37) + (part-tracker-spawn part-tracker :to self :group group-board-green-eco-zap-attack :target self :mat-joint 37) ) (target-board-green-eco-attack #t) (target-board-green-eco-use 5.0) ) - ((logtest? (-> *part-group-id-table* 188 flags) (sp-group-flag sp13)) - (part-tracker-spawn - part-tracker-subsampler - :to self - :group (-> *part-group-id-table* 188) - :target self - :mat-joint 37 - ) + ((logtest? (-> group-board-zap-attack flags) (sp-group-flag sp13)) + (part-tracker-spawn part-tracker-subsampler :to self :group group-board-zap-attack :target self :mat-joint 37) ) (else - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 188) :target self :mat-joint 37) + (part-tracker-spawn part-tracker :to self :group group-board-zap-attack :target self :mat-joint 37) ) ) (target-timed-invulnerable (-> *TARGET_BOARD-bank* zap-duration) self 2) diff --git a/goal_src/jak3/engine/target/flut/target-flut.gc b/goal_src/jak3/engine/target/flut/target-flut.gc index 99d52bb0f4..1b931e3888 100644 --- a/goal_src/jak3/engine/target/flut/target-flut.gc +++ b/goal_src/jak3/engine/target/flut/target-flut.gc @@ -2616,7 +2616,7 @@ (set! self (the target s5-1)) (let ((f0-14 (ja-aframe-num 0))) f0-14 - (set! self (the target s4-6)) + (set! self s4-6) (ja :num-func num-func-identity :frame-num (ja-aframe f0-14 0)) ) ) @@ -2749,13 +2749,13 @@ (sound-play "death-melt") (pickup-collectable! (-> self fact) (pickup-type health) -1000.0 (the-as handle #f)) (cond - ((logtest? (-> *part-group-id-table* 64 flags) (sp-group-flag sp13)) + ((logtest? (-> group-lava-death flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self control trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 64)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-lava-death) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self control trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 64)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-lava-death) ) ) (set! (-> s5-0 angle) 'lava) @@ -2947,13 +2947,13 @@ (('dark-eco-pool) (sound-play "death-darkeco") (cond - ((logtest? (-> *part-group-id-table* 62 flags) (sp-group-flag sp13)) + ((logtest? (-> group-dark-eco-death flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self control trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 62)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-dark-eco-death) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self control trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 62)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-dark-eco-death) ) ) (let ((v1-93 (-> self control root-prim))) @@ -2970,13 +2970,13 @@ (('lava 'melt 'fry 'slime) (sound-play "death-melt") (cond - ((logtest? (-> *part-group-id-table* 64 flags) (sp-group-flag sp13)) + ((logtest? (-> group-lava-death flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self control trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 64)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-lava-death) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self control trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 64)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-lava-death) ) ) (let ((v1-137 (-> self control root-prim))) diff --git a/goal_src/jak3/engine/target/gun/gun-blue-shot.gc b/goal_src/jak3/engine/target/gun/gun-blue-shot.gc index c889586752..b98f1829f7 100644 --- a/goal_src/jak3/engine/target/gun/gun-blue-shot.gc +++ b/goal_src/jak3/engine/target/gun/gun-blue-shot.gc @@ -1519,7 +1519,7 @@ (init! (-> self lt-array 5) 12 5 *blue-light-test-big*) (set! (-> self revolve-angle) 0.0) (set! (-> self sway-angle) 0.0) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 107) self)) + (set! (-> self part) (create-launch-control group-gun-blue-2-muzzle-flare self)) (set! (-> self last-spark-time) 0) (set! (-> self spark-time-interval) 0) (set! (-> self snd-lightning) (new-sound-id)) @@ -2374,13 +2374,13 @@ ) ) (let ((v1-24 (cond - ((logtest? (-> *part-group-id-table* 90 flags) (sp-group-flag sp13)) + ((logtest? (-> group-gun-blue-shot-hit flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> this root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 90)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-gun-blue-shot-hit) ) (else (vector-copy! (-> *launch-matrix* trans) (-> this root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 90)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-gun-blue-shot-hit) ) ) ) @@ -2579,18 +2579,17 @@ (set! (-> a0-2 quad) (-> this root trans quad)) (set! (-> a0-2 r) 4096.0) (when (s5-0 a0-2) - (let ((v1-11 - (cond - ((logtest? (-> *part-group-id-table* 108 flags) (sp-group-flag sp13)) - (vector-copy! (-> *launch-matrix* trans) (-> this root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 108)) - ) - (else - (vector-copy! (-> *launch-matrix* trans) (-> this root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 108)) - ) - ) - ) + (let ((v1-11 (cond + ((logtest? (-> group-gun-blue3-shot-impact flags) (sp-group-flag sp13)) + (vector-copy! (-> *launch-matrix* trans) (-> this root trans)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-gun-blue3-shot-impact) + ) + (else + (vector-copy! (-> *launch-matrix* trans) (-> this root trans)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-gun-blue3-shot-impact) + ) + ) + ) ) (send-event (ppointer->process v1-11) 'clock this) ) diff --git a/goal_src/jak3/engine/target/gun/gun-dark-shot.gc b/goal_src/jak3/engine/target/gun/gun-dark-shot.gc index 840d449fa7..2c434286fc 100644 --- a/goal_src/jak3/engine/target/gun/gun-dark-shot.gc +++ b/goal_src/jak3/engine/target/gun/gun-dark-shot.gc @@ -408,7 +408,7 @@ (new 'process 'prim-strip 4 (new 'static 'texture-id :index #x1f :page #x5) (the-as string #f)) ) (set! (-> this played-trail?) #f) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 112) this)) + (set! (-> this part) (create-launch-control group-gun-dark3-missile-trail this)) pp (set! (-> this smoke-trail) (new 'process 'sparticle-subsampler *sp-particle-system-2d* (-> *part-id-table* 388) 8.0) @@ -697,13 +697,13 @@ ) (+! (-> v1-2 y) 409.6) (let ((v1-5 (cond - ((logtest? (-> *part-group-id-table* 115 flags) (sp-group-flag sp13)) + ((logtest? (-> group-gun3-dark-scorched-earth flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) v1-2) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 115)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-gun3-dark-scorched-earth) ) (else (vector-copy! (-> *launch-matrix* trans) v1-2) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 115)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-gun3-dark-scorched-earth) ) ) ) @@ -864,7 +864,7 @@ (quaternion-identity! (-> gp-0 spawn-quat)) (set! (-> gp-0 radius) 0.0) (set! (-> gp-0 scale) 1.0) - (set! (-> gp-0 group) (-> *part-group-id-table* 104)) + (set! (-> gp-0 group) group-gun-dark-shot-hit) (set! (-> gp-0 collide-with) (collide-spec)) (set! (-> gp-0 damage) 2.0) (set! (-> gp-0 damage-scale) 1.0) @@ -1038,18 +1038,17 @@ (do-camera-shake self) ) (when (not (-> self spawned-mushroom-cloud?)) - (let ((v1-23 - (cond - ((logtest? (-> *part-group-id-table* 114 flags) (sp-group-flag sp13)) - (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 114)) - ) - (else - (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 114)) - ) - ) - ) + (let ((v1-23 (cond + ((logtest? (-> group-gun-dark3-small flags) (sp-group-flag sp13)) + (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-gun-dark3-small) + ) + (else + (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-gun-dark3-small) + ) + ) + ) ) (send-event (ppointer->process v1-23) 'clock self) ) @@ -1216,33 +1215,31 @@ (set! (-> self strip num-verts) (the-as uint 0)) (when (time-elapsed? (-> self state-time) (seconds 0.035)) (when (not (-> self spawned-mushroom-cloud?)) - (let ((v1-30 - (cond - ((logtest? (-> *part-group-id-table* 110 flags) (sp-group-flag sp13)) - (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 110)) - ) - (else - (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 110)) - ) - ) - ) + (let ((v1-30 (cond + ((logtest? (-> group-gun-dark3-stalk flags) (sp-group-flag sp13)) + (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-gun-dark3-stalk) + ) + (else + (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-gun-dark3-stalk) + ) + ) + ) ) (send-event (ppointer->process v1-30) 'clock self) ) - (let ((v1-61 - (cond - ((logtest? (-> *part-group-id-table* 111 flags) (sp-group-flag sp13)) - (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 111)) - ) - (else - (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 111)) - ) - ) - ) + (let ((v1-61 (cond + ((logtest? (-> group-gun-dark3-ring flags) (sp-group-flag sp13)) + (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-gun-dark3-ring) + ) + (else + (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-gun-dark3-ring) + ) + ) + ) ) (send-event (ppointer->process v1-61) 'clock self) ) @@ -1432,7 +1429,7 @@ (+! (-> *game-info* shots-fired 3) 1.0) (set! (-> this attack-mode) 'eco-dark) (vector-normalize! (-> this root transv) (+ 225280.0 (* 225280.0 (-> this charge-level)))) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 94) this)) + (set! (-> this part) (create-launch-control group-gun-dark-shot-trail this)) (set! (-> this blast-radius) 40960.0) (if (logtest? (game-secrets gun-upgrade-dark-1) (-> *game-info* secrets)) (set! (-> this blast-radius) 81920.0) @@ -1591,13 +1588,13 @@ ) (set-time! (-> self state-time)) (let ((v1-35 (cond - ((logtest? (-> *part-group-id-table* 92 flags) (sp-group-flag sp13)) + ((logtest? (-> group-gun-dark-shot-fired flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 92)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-gun-dark-shot-fired) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 92)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-gun-dark-shot-fired) ) ) ) @@ -1925,13 +1922,13 @@ ) 0 (cond - ((logtest? (-> *part-group-id-table* 93 flags) (sp-group-flag sp13)) + ((logtest? (-> group-jak-peacemaker-shot-hit flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 93)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-jak-peacemaker-shot-hit) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 93)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-jak-peacemaker-shot-hit) ) ) (let ((s4-0 (new 'stack-no-clear 'vector))) @@ -3312,7 +3309,7 @@ (vector-copy! (-> self start-pos) arg0) (set! (-> self ring-closest) (the-as handle #f)) (set! (-> self ring-furthest) (the-as handle #f)) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 118) self)) + (set! (-> self part) (create-launch-control group-gravity-gun-rise self)) (set! (-> self gravity-sound) (new-sound-id)) (go-virtual expand) ) @@ -3573,13 +3570,13 @@ (defbehavior gun-fire-dark-2 target () (set-last-fire-time 36) (cond - ((logtest? (-> *part-group-id-table* 120 flags) (sp-group-flag sp13)) + ((logtest? (-> group-gravity-gun-muzzle flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self gun fire-point)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 120)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-gravity-gun-muzzle) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self gun fire-point)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 120)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-gravity-gun-muzzle) ) ) (process-spawn diff --git a/goal_src/jak3/engine/target/gun/gun-red-shot.gc b/goal_src/jak3/engine/target/gun/gun-red-shot.gc index 91152d6c09..382b91dddd 100644 --- a/goal_src/jak3/engine/target/gun/gun-red-shot.gc +++ b/goal_src/jak3/engine/target/gun/gun-red-shot.gc @@ -129,7 +129,7 @@ (set! (-> v1-6 attack-id) a0-9) (set! (-> this attack-id) a0-9) ) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 87) this)) + (set! (-> this part) (create-launch-control group-gun-red3-shot-glow this)) (set! (-> this blast-radius) 81920.0) (set! (-> this max-speed) 327680.0) (set! (-> this timeout) (seconds 3)) @@ -550,12 +550,12 @@ (set! (-> self start-pilot?) (the-as symbol (and *target* (focus-test? *target* pilot)))) (set! (-> self charge-part-tracker) (ppointer->handle (cond - ((logtest? (-> *part-group-id-table* 109 flags) (sp-group-flag sp13)) + ((logtest? (-> group-red-2-charge flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self origin)) (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 109) + :group group-red-2-charge :callback (the-as (function part-tracker vector) part-tracker-move-to-target-gun) ) ) @@ -564,7 +564,7 @@ (part-tracker-spawn part-tracker :to *entity-pool* - :group (-> *part-group-id-table* 109) + :group group-red-2-charge :callback (the-as (function part-tracker vector) part-tracker-move-to-target-gun) ) ) @@ -833,14 +833,14 @@ ) (vector+! (-> gp-0 trans) (-> s4-0 collision-pt) s5-0) (let ((v1-14 - (if (logtest? (-> *part-group-id-table* 89 flags) (sp-group-flag sp13)) + (if (logtest? (-> group-gun-red-3-scorched-earth flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 89) + :group group-gun-red-3-scorched-earth :mat-joint gp-0 ) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 89) :mat-joint gp-0) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-gun-red-3-scorched-earth :mat-joint gp-0) ) ) ) @@ -1573,13 +1573,13 @@ (set! (-> sv-20 y) (fmax 0.3 (-> sv-20 y))) (vector-normalize! sv-20 1.0) (let ((v1-17 (cond - ((logtest? (-> *part-group-id-table* 86 flags) (sp-group-flag sp13)) + ((logtest? (-> group-gun-red3-shot-fired flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> sv-16 fire-point)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 86)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-gun-red3-shot-fired) ) (else (vector-copy! (-> *launch-matrix* trans) (-> sv-16 fire-point)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 86)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-gun-red3-shot-fired) ) ) ) @@ -1753,7 +1753,7 @@ (quaternion-identity! (-> gp-0 spawn-quat)) (set! (-> gp-0 radius) 0.0) (set! (-> gp-0 scale) 1.0) - (set! (-> gp-0 group) (-> *part-group-id-table* 104)) + (set! (-> gp-0 group) group-gun-dark-shot-hit) (set! (-> gp-0 collide-with) (collide-spec)) (set! (-> gp-0 damage) 2.0) (set! (-> gp-0 damage-scale) 1.0) @@ -1811,13 +1811,13 @@ ) ) (cond - ((logtest? (-> *part-group-id-table* 88 flags) (sp-group-flag sp13)) + ((logtest? (-> group-gun-red3-shot-explode flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 88)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-gun-red3-shot-explode) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 88)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-gun-red3-shot-explode) ) ) (logior! (-> self draw status) (draw-control-status no-draw)) @@ -2377,13 +2377,13 @@ (setup-probes self) (cpad-set-buzz! (-> *cpad-list* cpads 0) 1 204 (seconds 0.1)) (let ((v1-39 (cond - ((logtest? (-> *part-group-id-table* 84 flags) (sp-group-flag sp13)) + ((logtest? (-> group-gun-red-shot-fired flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self start-pos)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 84)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-gun-red-shot-fired) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self start-pos)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 84)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-gun-red-shot-fired) ) ) ) diff --git a/goal_src/jak3/engine/target/gun/gun-yellow-shot.gc b/goal_src/jak3/engine/target/gun/gun-yellow-shot.gc index ef2f5af444..b8a14b9aeb 100644 --- a/goal_src/jak3/engine/target/gun/gun-yellow-shot.gc +++ b/goal_src/jak3/engine/target/gun/gun-yellow-shot.gc @@ -361,7 +361,7 @@ (set! (-> this move) projectile-move-fill-line-sphere) (set! (-> this total-float-time) (seconds 0.05)) (quaternion-identity! (-> this root quat)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 95) this)) + (set! (-> this part) (create-launch-control group-gun-yellow-saucer-lights this)) (set! (-> this asleep?) #t) (set! (-> this firing?) #f) (set! (-> this first-fire-time) 0) @@ -505,13 +505,13 @@ :enter (behavior () (set-time! (-> self state-time)) (cond - ((logtest? (-> *part-group-id-table* 97 flags) (sp-group-flag sp13)) + ((logtest? (-> group-gun-yellow-saucer-fizz flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 97)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-gun-yellow-saucer-fizz) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 97)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-gun-yellow-saucer-fizz) ) ) (let ((gp-2 sound-play-by-name) @@ -534,19 +534,22 @@ (the-as vector a3-4) ) (vector-copy! (-> gp-3 trans) (-> self root trans)) - (let ((gp-4 - (ppointer->handle - (if (logtest? (-> *part-group-id-table* 96 flags) (sp-group-flag sp13)) - (part-tracker-spawn - part-tracker-subsampler - :to (-> self parent 0) - :group (-> *part-group-id-table* 96) - :mat-joint gp-3 - ) - (part-tracker-spawn part-tracker :to (-> self parent 0) :group (-> *part-group-id-table* 96) :mat-joint gp-3) - ) - ) - ) + (let ((gp-4 (ppointer->handle (if (logtest? (-> group-gun-yellow-saucer-lights-dark flags) (sp-group-flag sp13)) + (part-tracker-spawn + part-tracker-subsampler + :to (-> self parent 0) + :group group-gun-yellow-saucer-lights-dark + :mat-joint gp-3 + ) + (part-tracker-spawn + part-tracker + :to (-> self parent 0) + :group group-gun-yellow-saucer-lights-dark + :mat-joint gp-3 + ) + ) + ) + ) ) (process-spawn-function process @@ -653,7 +656,7 @@ (quaternion-identity! (-> gp-0 spawn-quat)) (set! (-> gp-0 radius) 0.0) (set! (-> gp-0 scale) 1.0) - (set! (-> gp-0 group) (-> *part-group-id-table* 104)) + (set! (-> gp-0 group) group-gun-dark-shot-hit) (set! (-> gp-0 collide-with) (collide-spec)) (set! (-> gp-0 damage) 2.0) (set! (-> gp-0 damage-scale) 1.0) @@ -910,14 +913,14 @@ (matrix-f-compose s5-1 s4-1) (vector-copy! (-> s5-1 trans) (-> gp-0 fire-point)) (let ((v1-62 - (if (logtest? (-> *part-group-id-table* 100 flags) (sp-group-flag sp13)) + (if (logtest? (-> group-gun-yellow3-muzzle-smoke flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 100) + :group group-gun-yellow3-muzzle-smoke :mat-joint s5-1 ) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 100) :mat-joint s5-1) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-gun-yellow3-muzzle-smoke :mat-joint s5-1) ) ) ) @@ -1116,23 +1119,23 @@ (cond ((-> this hit-actor?) (cond - ((logtest? (-> *part-group-id-table* 102 flags) (sp-group-flag sp13)) + ((logtest? (-> group-gun-yellow-shot-hit-object flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> this root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 102)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-gun-yellow-shot-hit-object) ) (else (vector-copy! (-> *launch-matrix* trans) (-> this root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 102)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-gun-yellow-shot-hit-object) ) ) ) - ((logtest? (-> *part-group-id-table* 101 flags) (sp-group-flag sp13)) + ((logtest? (-> group-gun-yellow-shot-hit flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> this root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 101)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-gun-yellow-shot-hit) ) (else (vector-copy! (-> *launch-matrix* trans) (-> this root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 101)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-gun-yellow-shot-hit) ) ) ) @@ -1726,13 +1729,13 @@ (set! (-> this damage) 1.0) ) (cond - ((logtest? (-> *part-group-id-table* 102 flags) (sp-group-flag sp13)) + ((logtest? (-> group-gun-yellow-shot-hit-object flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> this root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 102)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-gun-yellow-shot-hit-object) ) (else (vector-copy! (-> *launch-matrix* trans) (-> this root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 102)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-gun-yellow-shot-hit-object) ) ) (let ((v0-0 (+ (-> this max-actor-deflect-count) -1))) @@ -1983,23 +1986,23 @@ (cond ((-> this hit-actor?) (cond - ((logtest? (-> *part-group-id-table* 99 flags) (sp-group-flag sp13)) + ((logtest? (-> group-gun-yellow-shot-hit-object-3 flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> this root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 99)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-gun-yellow-shot-hit-object-3) ) (else (vector-copy! (-> *launch-matrix* trans) (-> this root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 99)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-gun-yellow-shot-hit-object-3) ) ) ) - ((logtest? (-> *part-group-id-table* 98 flags) (sp-group-flag sp13)) + ((logtest? (-> group-gun-yellow-shot-hit-3 flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> this root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 98)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-gun-yellow-shot-hit-3) ) (else (vector-copy! (-> *launch-matrix* trans) (-> this root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 98)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-gun-yellow-shot-hit-3) ) ) ) diff --git a/goal_src/jak3/engine/target/indax/target-indax.gc b/goal_src/jak3/engine/target/indax/target-indax.gc index 9c7c4ef9bd..00c00349b4 100644 --- a/goal_src/jak3/engine/target/indax/target-indax.gc +++ b/goal_src/jak3/engine/target/indax/target-indax.gc @@ -1718,13 +1718,13 @@ ((or (= arg0 'lava) (= arg0 'melt) (= arg0 'fry) (= arg0 'slime)) (sound-play "death-melt") (cond - ((logtest? (-> *part-group-id-table* 233 flags) (sp-group-flag sp13)) + ((logtest? (-> group-indax-lava-death flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self control trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 233)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-indax-lava-death) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self control trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 233)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-indax-lava-death) ) ) (let ((v1-266 (-> self control root-prim))) diff --git a/goal_src/jak3/engine/target/mech/mech-states.gc b/goal_src/jak3/engine/target/mech/mech-states.gc index a93e885847..47b9c52321 100644 --- a/goal_src/jak3/engine/target/mech/mech-states.gc +++ b/goal_src/jak3/engine/target/mech/mech-states.gc @@ -502,13 +502,13 @@ ) (when (or (not s5-2) (= (-> self control send-attack-time) (current-time))) (cond - ((logtest? (-> *part-group-id-table* 12 flags) (sp-group-flag sp13)) + ((logtest? (-> group-punch-hit flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> (the-as collide-query gp-1) best-other-tri intersect)) - (part-tracker-spawn part-tracker-subsampler :to self :group (-> *part-group-id-table* 12)) + (part-tracker-spawn part-tracker-subsampler :to self :group group-punch-hit) ) (else (vector-copy! (-> *launch-matrix* trans) (-> (the-as collide-query gp-1) best-other-tri intersect)) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 12)) + (part-tracker-spawn part-tracker :to self :group group-punch-hit) ) ) (sound-play "mech-punch-hit" :position (+ (the-as uint gp-1) 48)) @@ -1189,13 +1189,13 @@ ) (sound-play "mech-eject") (cond - ((logtest? (-> *part-group-id-table* 236 flags) (sp-group-flag sp13)) + ((logtest? (-> group-mech-explode-death flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self control trans)) - (part-tracker-spawn part-tracker-subsampler :to self :group (-> *part-group-id-table* 236)) + (part-tracker-spawn part-tracker-subsampler :to self :group group-mech-explode-death) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self control trans)) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 236)) + (part-tracker-spawn part-tracker :to self :group group-mech-explode-death) ) ) (rot->dir-targ! (-> self control)) diff --git a/goal_src/jak3/engine/target/pilot-states.gc b/goal_src/jak3/engine/target/pilot-states.gc index 588a961e59..2bd2c59d75 100644 --- a/goal_src/jak3/engine/target/pilot-states.gc +++ b/goal_src/jak3/engine/target/pilot-states.gc @@ -1001,39 +1001,39 @@ (('dark-eco-pool) (sound-play "death-darkeco") (cond - ((logtest? (-> *part-group-id-table* 62 flags) (sp-group-flag sp13)) + ((logtest? (-> group-dark-eco-death flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self control trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 62)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-dark-eco-death) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self control trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 62)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-dark-eco-death) ) ) ) (('grenade 'explode) (sound-play "explosion") (cond - ((logtest? (-> *part-group-id-table* 65 flags) (sp-group-flag sp13)) + ((logtest? (-> group-explode-death flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self control trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 65)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-explode-death) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self control trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 65)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-explode-death) ) ) ) (('lava 'melt) (sound-play "death-melt") (cond - ((logtest? (-> *part-group-id-table* 64 flags) (sp-group-flag sp13)) + ((logtest? (-> group-lava-death flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self control trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 64)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-lava-death) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self control trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 64)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-lava-death) ) ) ) diff --git a/goal_src/jak3/engine/target/target-darkjak.gc b/goal_src/jak3/engine/target/target-darkjak.gc index 164f49cf16..dcbe702c8b 100644 --- a/goal_src/jak3/engine/target/target-darkjak.gc +++ b/goal_src/jak3/engine/target/target-darkjak.gc @@ -130,13 +130,13 @@ (get-intersect-point s2-0 s1-0 (-> this root) (the-as touching-shapes-entry arg1)) ) (cond - ((logtest? (-> *part-group-id-table* 77 flags) (sp-group-flag sp13)) + ((logtest? (-> group-darkjak-smack-hit flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) s2-0) - (part-tracker-spawn part-tracker-subsampler :to this :group (-> *part-group-id-table* 77)) + (part-tracker-spawn part-tracker-subsampler :to this :group group-darkjak-smack-hit) ) (else (vector-copy! (-> *launch-matrix* trans) s2-0) - (part-tracker-spawn part-tracker :to this :group (-> *part-group-id-table* 77)) + (part-tracker-spawn part-tracker :to this :group group-darkjak-smack-hit) ) ) (sound-play "djak-strike-ko") @@ -262,13 +262,13 @@ (defmethod projectile-method-26 ((this darkjak-ball)) (sound-play "djak-strike-hit") (cond - ((logtest? (-> *part-group-id-table* 76 flags) (sp-group-flag sp13)) + ((logtest? (-> group-darkjak-smack-wall-explode flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> this root trans)) - (part-tracker-spawn part-tracker-subsampler :to this :group (-> *part-group-id-table* 76)) + (part-tracker-spawn part-tracker-subsampler :to this :group group-darkjak-smack-wall-explode) ) (else (vector-copy! (-> *launch-matrix* trans) (-> this root trans)) - (part-tracker-spawn part-tracker :to this :group (-> *part-group-id-table* 76)) + (part-tracker-spawn part-tracker :to this :group group-darkjak-smack-wall-explode) ) ) (activate! *camera-smush-control* 819.2 15 75 1.0 0.9 (-> *display* camera-clock)) @@ -405,9 +405,9 @@ (set! (-> this vehicle-damage-factor) 2.0) (set! (-> this vehicle-impulse-factor) 3.0) (logior! (-> this options) (projectile-options po13)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 172) this)) - (set! (-> this ball1) (create-launch-control (-> *part-group-id-table* 172) this)) - (set! (-> this trail) (create-launch-control (-> *part-group-id-table* 173) this)) + (set! (-> this part) (create-launch-control group-darkjak-hadouken this)) + (set! (-> this ball1) (create-launch-control group-darkjak-hadouken this)) + (set! (-> this trail) (create-launch-control group-darkjak-hadouken-trail this)) (set! (-> this impact?) #f) (set! (-> this max-hits) 1000) (vector-copy! (-> this fire-point) (-> this root trans)) @@ -1495,13 +1495,13 @@ ) (when (= (-> gp-3 best-other-tri pat mode) (pat-mode wall)) (cond - ((logtest? (-> *part-group-id-table* 12 flags) (sp-group-flag sp13)) + ((logtest? (-> group-punch-hit flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> gp-3 best-other-tri intersect)) - (part-tracker-spawn part-tracker-subsampler :to self :group (-> *part-group-id-table* 12)) + (part-tracker-spawn part-tracker-subsampler :to self :group group-punch-hit) ) (else (vector-copy! (-> *launch-matrix* trans) (-> gp-3 best-other-tri intersect)) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 12)) + (part-tracker-spawn part-tracker :to self :group group-punch-hit) ) ) (let ((name (static-sound-name "djak-punch-hit"))) @@ -1636,11 +1636,11 @@ (when v1-46 (set! (-> self control unknown-sound-id00) (sound-play "djak-bolt-charg")) (set! (-> self darkjak charge-effect) - (ppointer->handle (if (logtest? (-> *part-group-id-table* 75 flags) (sp-group-flag sp13)) + (ppointer->handle (if (logtest? (-> group-darkjak-smack-charge flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to self - :group (-> *part-group-id-table* 75) + :group group-darkjak-smack-charge :duration -1 :target self :mat-joint 59 @@ -1648,7 +1648,7 @@ (part-tracker-spawn part-tracker :to self - :group (-> *part-group-id-table* 75) + :group group-darkjak-smack-charge :duration -1 :target self :mat-joint 59 @@ -2096,13 +2096,13 @@ ) (set! (-> sv-160 y) (-> self control root-prim prim-core world-sphere y)) (cond - ((logtest? (-> *part-group-id-table* 71 flags) (sp-group-flag sp13)) + ((logtest? (-> group-darkjak-bomb flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) sv-160) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 71)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-darkjak-bomb) ) (else (vector-copy! (-> *launch-matrix* trans) sv-160) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 71)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-darkjak-bomb) ) ) (let ((gp-6 (process-spawn diff --git a/goal_src/jak3/engine/target/target-death.gc b/goal_src/jak3/engine/target/target-death.gc index ff8af5f115..8fa2d72c76 100644 --- a/goal_src/jak3/engine/target/target-death.gc +++ b/goal_src/jak3/engine/target/target-death.gc @@ -908,7 +908,7 @@ (defbehavior target-hit-effect target ((arg0 attack-info)) (cond - ((logtest? (-> *part-group-id-table* 10 flags) (sp-group-flag sp13)) + ((logtest? (-> group-target-hit flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (the-as vector (if (logtest? (-> arg0 mask) (attack-mask intersection)) @@ -917,7 +917,7 @@ ) ) ) - (part-tracker-spawn part-tracker-subsampler :to self :group (-> *part-group-id-table* 10)) + (part-tracker-spawn part-tracker-subsampler :to self :group group-target-hit) ) (else (vector-copy! @@ -928,7 +928,7 @@ ) ) ) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 10)) + (part-tracker-spawn part-tracker :to self :group group-target-hit) ) ) (let ((v1-32 (-> arg0 mode))) @@ -1436,13 +1436,13 @@ (else (sound-play "death-melt") (cond - ((logtest? (-> *part-group-id-table* 64 flags) (sp-group-flag sp13)) + ((logtest? (-> group-lava-death flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self control trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 64)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-lava-death) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self control trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 64)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-lava-death) ) ) ) @@ -1457,13 +1457,13 @@ (else (sound-play "death-melt") (cond - ((logtest? (-> *part-group-id-table* 64 flags) (sp-group-flag sp13)) + ((logtest? (-> group-lava-death flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self control trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 64)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-lava-death) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self control trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 64)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-lava-death) ) ) ) @@ -1514,13 +1514,13 @@ (let* ((v1-211 (-> sv-32 mode)) (gp-9 (cond ((= v1-211 'shock-red) - (-> *part-group-id-table* 69) + group-lightning-red-glow ) ((= v1-211 'shock-green) - (-> *part-group-id-table* 68) + group-lightning-green-glow ) (else - (-> *part-group-id-table* 67) + group-lightning-glow ) ) ) @@ -2217,13 +2217,13 @@ (('dark-eco-pool) (sound-play "death-darkeco") (cond - ((logtest? (-> *part-group-id-table* 62 flags) (sp-group-flag sp13)) + ((logtest? (-> group-dark-eco-death flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self control trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 62)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-dark-eco-death) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self control trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 62)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-dark-eco-death) ) ) (let ((v1-110 (-> self control root-prim))) @@ -2255,13 +2255,13 @@ ) ) (cond - ((logtest? (-> *part-group-id-table* 65 flags) (sp-group-flag sp13)) + ((logtest? (-> group-explode-death flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self control trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 65)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-explode-death) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self control trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 65)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-explode-death) ) ) (set-vector! (-> self control transv) 0.0 65502.96 0.0 1.0) @@ -2432,13 +2432,13 @@ ) ((or (= v1-61 'burn) (= v1-61 'burnup)) (cond - ((logtest? (-> *part-group-id-table* 66 flags) (sp-group-flag sp13)) + ((logtest? (-> group-burn-death flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self control trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 66)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-burn-death) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self control trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 66)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-burn-death) ) ) (target-death-anim (the-as spool-anim #f)) @@ -2449,8 +2449,8 @@ (local-vars (gp-2 vector)) (sound-play "death-melt") (let ((gp-1 (if (= arg0 'slime) - (-> *part-group-id-table* 63) - (-> *part-group-id-table* 64) + group-slime-death + group-lava-death ) ) ) diff --git a/goal_src/jak3/engine/target/target-handler.gc b/goal_src/jak3/engine/target/target-handler.gc index cdd32b16b2..bd65d01091 100644 --- a/goal_src/jak3/engine/target/target-handler.gc +++ b/goal_src/jak3/engine/target/target-handler.gc @@ -143,7 +143,7 @@ (the-as handle #f) ) (cond - ((logtest? (-> *part-group-id-table* 10 flags) (sp-group-flag sp13)) + ((logtest? (-> group-target-hit flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (the-as vector (if (logtest? (-> self attack-info-rec mask) (attack-mask intersection)) @@ -152,7 +152,7 @@ ) ) ) - (part-tracker-spawn part-tracker-subsampler :to self :group (-> *part-group-id-table* 10)) + (part-tracker-spawn part-tracker-subsampler :to self :group group-target-hit) ) (else (vector-copy! @@ -163,7 +163,7 @@ ) ) ) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 10)) + (part-tracker-spawn part-tracker :to self :group group-target-hit) ) ) (target-timed-invulnerable @@ -180,11 +180,11 @@ (sound-play "oof") ) (else - (if (logtest? (-> *part-group-id-table* 67 flags) (sp-group-flag sp13)) + (if (logtest? (-> group-lightning-glow flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to self - :group (-> *part-group-id-table* 67) + :group group-lightning-glow :duration (seconds 1) :target self :mat-joint 6 @@ -192,7 +192,7 @@ (part-tracker-spawn part-tracker :to self - :group (-> *part-group-id-table* 67) + :group group-lightning-glow :duration (seconds 1) :target self :mat-joint 6 @@ -475,13 +475,13 @@ (case sv-136 ((1) (cond - ((logtest? (-> *part-group-id-table* 11 flags) (sp-group-flag sp13)) + ((logtest? (-> group-spin-hit flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) sv-128) - (part-tracker-spawn part-tracker-subsampler :to self :group (-> *part-group-id-table* 11)) + (part-tracker-spawn part-tracker-subsampler :to self :group group-spin-hit) ) (else (vector-copy! (-> *launch-matrix* trans) sv-128) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 11)) + (part-tracker-spawn part-tracker :to self :group group-spin-hit) ) ) ) @@ -516,13 +516,13 @@ (let ((v1-105 sv-136)) (when (or (zero? v1-105) (= v1-105 1)) (cond - ((logtest? (-> *part-group-id-table* 12 flags) (sp-group-flag sp13)) + ((logtest? (-> group-punch-hit flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) sv-128) - (part-tracker-spawn part-tracker-subsampler :to self :group (-> *part-group-id-table* 12)) + (part-tracker-spawn part-tracker-subsampler :to self :group group-punch-hit) ) (else (vector-copy! (-> *launch-matrix* trans) sv-128) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 12)) + (part-tracker-spawn part-tracker :to self :group group-punch-hit) ) ) ) @@ -550,13 +550,13 @@ (let ((v1-147 sv-136)) (when (or (zero? v1-147) (= v1-147 1)) (cond - ((logtest? (-> *part-group-id-table* 12 flags) (sp-group-flag sp13)) + ((logtest? (-> group-punch-hit flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) sv-128) - (part-tracker-spawn part-tracker-subsampler :to self :group (-> *part-group-id-table* 12)) + (part-tracker-spawn part-tracker-subsampler :to self :group group-punch-hit) ) (else (vector-copy! (-> *launch-matrix* trans) sv-128) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 12)) + (part-tracker-spawn part-tracker :to self :group group-punch-hit) ) ) ) @@ -607,13 +607,13 @@ (let ((v1-199 sv-136)) (when (or (zero? v1-199) (= v1-199 1)) (cond - ((logtest? (-> *part-group-id-table* 12 flags) (sp-group-flag sp13)) + ((logtest? (-> group-punch-hit flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) sv-128) - (part-tracker-spawn part-tracker-subsampler :to self :group (-> *part-group-id-table* 12)) + (part-tracker-spawn part-tracker-subsampler :to self :group group-punch-hit) ) (else (vector-copy! (-> *launch-matrix* trans) sv-128) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 12)) + (part-tracker-spawn part-tracker :to self :group group-punch-hit) ) ) ) diff --git a/goal_src/jak3/engine/target/target-invisible.gc b/goal_src/jak3/engine/target/target-invisible.gc index 7ee9fd6ab0..c568357588 100644 --- a/goal_src/jak3/engine/target/target-invisible.gc +++ b/goal_src/jak3/engine/target/target-invisible.gc @@ -436,13 +436,13 @@ (suspend-for (seconds 0.66) ) (cond - ((logtest? (-> *part-group-id-table* 182 flags) (sp-group-flag sp13)) + ((logtest? (-> group-idol-activate flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to self :group (-> *part-group-id-table* 182)) + (part-tracker-spawn part-tracker-subsampler :to self :group group-idol-activate) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 182)) + (part-tracker-spawn part-tracker :to self :group group-idol-activate) ) ) (if *target* @@ -510,7 +510,7 @@ (the-as pair 0) ) (if (task-node-closed? (game-task-node volcano-darkeco-resolution)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 82) this)) + (set! (-> this part) (create-launch-control group-dark-maker-idol-eye-part this)) ) (set! (-> this humming-sound) (new 'process 'ambient-sound "dark-maker-amb" (-> this root trans) 0.0)) (set-falloff-far! (-> this humming-sound) 122880.0) diff --git a/goal_src/jak3/engine/target/target-lightjak.gc b/goal_src/jak3/engine/target/target-lightjak.gc index 590d8f5646..01412b208a 100644 --- a/goal_src/jak3/engine/target/target-lightjak.gc +++ b/goal_src/jak3/engine/target/target-lightjak.gc @@ -1194,15 +1194,9 @@ ) ) ) - (if (logtest? (-> *part-group-id-table* 176 flags) (sp-group-flag sp13)) - (part-tracker-spawn - part-tracker-subsampler - :to self - :group (-> *part-group-id-table* 176) - :target self - :mat-joint 6 - ) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 176) :target self :mat-joint 6) + (if (logtest? (-> group-lightjak-get-off flags) (sp-group-flag sp13)) + (part-tracker-spawn part-tracker-subsampler :to self :group group-lightjak-get-off :target self :mat-joint 6) + (part-tracker-spawn part-tracker :to self :group group-lightjak-get-off :target self :mat-joint 6) ) ) (logclear! (-> self target-effect) (target-effect te1)) @@ -1617,15 +1611,15 @@ (set! (-> self control dynam gravity-length) 0.0) (set! (-> self control transv quad) (the-as uint128 0)) (let ((s5-2 - (if (logtest? (-> *part-group-id-table* 174 flags) (sp-group-flag sp13)) + (if (logtest? (-> group-lightjak-get-on-charge flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to self - :group (-> *part-group-id-table* 174) + :group group-lightjak-get-on-charge :target self :mat-joint 6 ) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 174) :target self :mat-joint 6) + (part-tracker-spawn part-tracker :to self :group group-lightjak-get-on-charge :target self :mat-joint 6) ) ) ) @@ -1695,15 +1689,9 @@ (the-as (function gui-connection symbol) #f) (the-as process #f) ) - (if (logtest? (-> *part-group-id-table* 175 flags) (sp-group-flag sp13)) - (part-tracker-spawn - part-tracker-subsampler - :to self - :group (-> *part-group-id-table* 175) - :target self - :mat-joint 6 - ) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 175) :target self :mat-joint 6) + (if (logtest? (-> group-lightjak-get-on flags) (sp-group-flag sp13)) + (part-tracker-spawn part-tracker-subsampler :to self :group group-lightjak-get-on :target self :mat-joint 6) + (part-tracker-spawn part-tracker :to self :group group-lightjak-get-on :target self :mat-joint 6) ) (cond ((logtest? arg0 (lightjak-stage regen)) @@ -2283,7 +2271,7 @@ (f30-0 4096.0) ) (let ((f0-4 (* 0.00013563369 (tan (/ (-> *math-camera* fov) 2)) f30-0))) - (set-vector! (-> this root scale) (* f0-4 (if (-> *pc-settings* use-vis?) 1.0 (-> *pc-settings* aspect-ratio-scale))) f0-4 f0-4 1.0) + (set-vector! (-> this root scale) f0-4 f0-4 f0-4 1.0) ) (vector-copy! gp-0 (camera-pos)) (vector-normalize-copy! s5-0 (-> s3-0 fvec) 1.0) @@ -2616,25 +2604,25 @@ (send-event (handle->process (-> self notify)) 'notify 'attack 27) (set! (-> self neck flex-blend) 0.0) (vector-copy! (-> self alt-cam-pos) (-> self control trans)) - (if (logtest? (-> *part-group-id-table* 180 flags) (sp-group-flag sp13)) + (if (logtest? (-> group-lightjak-freeze-hands flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to self - :group (-> *part-group-id-table* 180) + :group group-lightjak-freeze-hands :target self :mat-joint 19 ) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 180) :target self :mat-joint 19) + (part-tracker-spawn part-tracker :to self :group group-lightjak-freeze-hands :target self :mat-joint 19) ) - (if (logtest? (-> *part-group-id-table* 180 flags) (sp-group-flag sp13)) + (if (logtest? (-> group-lightjak-freeze-hands flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to self - :group (-> *part-group-id-table* 180) + :group group-lightjak-freeze-hands :target self :mat-joint 28 ) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 180) :target self :mat-joint 28) + (part-tracker-spawn part-tracker :to self :group group-lightjak-freeze-hands :target self :mat-joint 28) ) (set! (-> self control mod-surface) *roll-flip-mods*) (let ((f30-0 0.0)) @@ -2649,19 +2637,19 @@ (ja :num! (seek! (ja-aframe 20.0 0))) ) (cond - ((logtest? (-> *part-group-id-table* 181 flags) (sp-group-flag sp13)) + ((logtest? (-> group-lightjak-freeze-burst flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node jakb-lod0-jg sk_lhand)) ) - (part-tracker-spawn part-tracker-subsampler :to self :group (-> *part-group-id-table* 181)) + (part-tracker-spawn part-tracker-subsampler :to self :group group-lightjak-freeze-burst) ) (else (vector-copy! (-> *launch-matrix* trans) (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node jakb-lod0-jg sk_lhand)) ) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 181)) + (part-tracker-spawn part-tracker :to self :group group-lightjak-freeze-burst) ) ) (cpad-set-buzz! (-> *cpad-list* cpads 0) 1 255 (seconds 0.5)) @@ -2887,13 +2875,13 @@ (set! (-> self control unknown-handle02) (ppointer->handle (cond - ((logtest? (-> *part-group-id-table* 177 flags) (sp-group-flag sp13)) + ((logtest? (-> group-lightjak-regen flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self control trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 177)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-lightjak-regen) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self control trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 177)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-lightjak-regen) ) ) ) @@ -2968,15 +2956,15 @@ ) ) :code (behavior () - (if (logtest? (-> *part-group-id-table* 178 flags) (sp-group-flag sp13)) + (if (logtest? (-> group-lightjak-shield-start flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to self - :group (-> *part-group-id-table* 178) + :group group-lightjak-shield-start :target self :mat-joint 3 ) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 178) :target self :mat-joint 3) + (part-tracker-spawn part-tracker :to self :group group-lightjak-shield-start :target self :mat-joint 3) ) (let ((v1-30 (ja-group))) (when (not (and v1-30 (= v1-30 jakb-shield-start-ja))) @@ -3074,15 +3062,15 @@ ) (sound-play "shield-hit") (ja-channel-push! 1 (seconds 0.05)) - (if (logtest? (-> *part-group-id-table* 179 flags) (sp-group-flag sp13)) + (if (logtest? (-> group-lightjak-shield-hit flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to self - :group (-> *part-group-id-table* 179) + :group group-lightjak-shield-hit :target self :mat-joint 3 ) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 179) :target self :mat-joint 3) + (part-tracker-spawn part-tracker :to self :group group-lightjak-shield-hit :target self :mat-joint 3) ) (ja-no-eval :group! jakb-shield-hit-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) diff --git a/goal_src/jak3/engine/target/target-part.gc b/goal_src/jak3/engine/target/target-part.gc index 5d8d17f167..7ffa4f4112 100644 --- a/goal_src/jak3/engine/target/target-part.gc +++ b/goal_src/jak3/engine/target/target-part.gc @@ -2981,14 +2981,19 @@ (let ((s4-1 (matrix-u-compose (new 'stack-no-clear 'matrix) gp-0 (the-as vector a2-2) (the-as vector a3-1)))) (vector-copy! (-> s4-1 trans) (-> s5-0 end-pos)) (vector+float*! (-> s4-1 trans) (-> s4-1 trans) gp-0 409.6) - (if (logtest? (-> *part-group-id-table* 70 flags) (sp-group-flag sp13)) + (if (logtest? (-> group-lightning-dark-shot-tip-hit-replace flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 70) + :group group-lightning-dark-shot-tip-hit-replace + :mat-joint s4-1 + ) + (part-tracker-spawn + part-tracker + :to *entity-pool* + :group group-lightning-dark-shot-tip-hit-replace :mat-joint s4-1 ) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 70) :mat-joint s4-1) ) ) ) diff --git a/goal_src/jak3/engine/target/target-turret-shot.gc b/goal_src/jak3/engine/target/target-turret-shot.gc index 31b394f782..654083f0b6 100644 --- a/goal_src/jak3/engine/target/target-turret-shot.gc +++ b/goal_src/jak3/engine/target/target-turret-shot.gc @@ -275,13 +275,13 @@ (vector-copy! v1-2 (-> gp-0 trans)) (vector+! v1-2 v1-2 a0-3) (cond - ((logtest? (-> *part-group-id-table* 234 flags) (sp-group-flag sp13)) + ((logtest? (-> group-turret-shot-hit flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) v1-2) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 234)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-turret-shot-hit) ) (else (vector-copy! (-> *launch-matrix* trans) v1-2) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 234)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-turret-shot-hit) ) ) ) diff --git a/goal_src/jak3/engine/target/target-turret.gc b/goal_src/jak3/engine/target/target-turret.gc index 398ee0016b..ef5039d273 100644 --- a/goal_src/jak3/engine/target/target-turret.gc +++ b/goal_src/jak3/engine/target/target-turret.gc @@ -1061,13 +1061,13 @@ (vector-copy! v1-10 (-> this root trans)) (+! (-> v1-10 y) 8192.0) (cond - ((logtest? (-> *part-group-id-table* 235 flags) (sp-group-flag sp13)) + ((logtest? (-> group-turret-explode flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) v1-10) - (part-tracker-spawn part-tracker-subsampler :to this :group (-> *part-group-id-table* 235)) + (part-tracker-spawn part-tracker-subsampler :to this :group group-turret-explode) ) (else (vector-copy! (-> *launch-matrix* trans) v1-10) - (part-tracker-spawn part-tracker :to this :group (-> *part-group-id-table* 235)) + (part-tracker-spawn part-tracker :to this :group group-turret-explode) ) ) ) diff --git a/goal_src/jak3/engine/target/target.gc b/goal_src/jak3/engine/target/target.gc index 768f36c3a3..4b88b49e12 100644 --- a/goal_src/jak3/engine/target/target.gc +++ b/goal_src/jak3/engine/target/target.gc @@ -2705,13 +2705,13 @@ ) (when (= (-> s5-3 best-other-tri pat mode) (pat-mode wall)) (cond - ((logtest? (-> *part-group-id-table* 12 flags) (sp-group-flag sp13)) + ((logtest? (-> group-punch-hit flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> s5-3 best-other-tri intersect)) - (part-tracker-spawn part-tracker-subsampler :to self :group (-> *part-group-id-table* 12)) + (part-tracker-spawn part-tracker-subsampler :to self :group group-punch-hit) ) (else (vector-copy! (-> *launch-matrix* trans) (-> s5-3 best-other-tri intersect)) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 12)) + (part-tracker-spawn part-tracker :to self :group group-punch-hit) ) ) (let ((name (if (using-gun? self) diff --git a/goal_src/jak3/levels/city/blow-tower/blow-tower-obs.gc b/goal_src/jak3/levels/city/blow-tower/blow-tower-obs.gc index a31dba12f9..6be01b8f66 100644 --- a/goal_src/jak3/levels/city/blow-tower/blow-tower-obs.gc +++ b/goal_src/jak3/levels/city/blow-tower/blow-tower-obs.gc @@ -144,13 +144,13 @@ (defmethod on-death ((this blow-tower-enemy)) (logior! (-> this focus-status) (focus-status dead)) (cond - ((logtest? (-> *part-group-id-table* 1457 flags) (sp-group-flag sp13)) + ((logtest? (-> group-bt-mh-flyer-explosion flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (get-trans this 3)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 1457)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-bt-mh-flyer-explosion) ) (else (vector-copy! (-> *launch-matrix* trans) (get-trans this 3)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 1457)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-bt-mh-flyer-explosion) ) ) (go empty-state) @@ -273,7 +273,7 @@ ;; WARN: Return type mismatch int vs object. (defmethod init ((this tower-flyer)) (call-parent-method this) - (set! (-> this charge-part) (create-launch-control (-> *part-group-id-table* 1456) this)) + (set! (-> this charge-part) (create-launch-control group-flyer-shot-trail this)) (set! (-> this charge-t) 0.0) (set! (-> this buzz-sound) (new-sound-id)) (set! (-> this charge-sound) (new-sound-id)) @@ -941,7 +941,7 @@ (send-event (handle->process (-> self params target)) 'get-attack-pos gp-1) (vector-! (-> self original-offset-vec) (-> self root trans) gp-1) ) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 1456) self)) + (set! (-> self part) (create-launch-control group-flyer-shot-trail self)) (set! (-> self size-t) 1.0) (go-virtual active) ) @@ -1443,13 +1443,13 @@ (logior! (-> self focus-status) (focus-status dead)) (count-nearby-barrels self) (cond - ((logtest? (-> *part-group-id-table* 1460 flags) (sp-group-flag sp13)) + ((logtest? (-> group-bt-roboguard-explode flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 1460)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-bt-roboguard-explode) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 1460)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-bt-roboguard-explode) ) ) (suspend-for (seconds 0.1) @@ -1573,13 +1573,13 @@ (when (!= f0-5 -100000000.0) (vector+float*! (-> self root trans) (-> self root trans) (-> gp-0 move-dist) f0-5) (cond - ((logtest? (-> *part-group-id-table* 1457 flags) (sp-group-flag sp13)) + ((logtest? (-> group-bt-mh-flyer-explosion flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 1457)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-bt-mh-flyer-explosion) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 1457)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-bt-mh-flyer-explosion) ) ) (sound-play "barrel-explode2") @@ -1592,13 +1592,13 @@ (when (< (-> self root trans y) 0.0) (set! (-> self root trans y) 0.0) (cond - ((logtest? (-> *part-group-id-table* 1457 flags) (sp-group-flag sp13)) + ((logtest? (-> group-bt-mh-flyer-explosion flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 1457)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-bt-mh-flyer-explosion) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 1457)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-bt-mh-flyer-explosion) ) ) (go empty-state) @@ -1647,7 +1647,7 @@ (the-as pair 0) ) (call-parent-method this) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 1455) this)) + (set! (-> this part) (create-launch-control group-barrel-damage this)) (set! (-> this hit-points) 2.0) ) @@ -1866,13 +1866,13 @@ (case message (('die) (cond - ((logtest? (-> *part-group-id-table* 1460 flags) (sp-group-flag sp13)) + ((logtest? (-> group-bt-roboguard-explode flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 1460)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-bt-roboguard-explode) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 1460)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-bt-roboguard-explode) ) ) (go empty-state) diff --git a/goal_src/jak3/levels/city/blow-tower/blow-tower-obs2.gc b/goal_src/jak3/levels/city/blow-tower/blow-tower-obs2.gc index ab9011a8cf..fdc02f3c3a 100644 --- a/goal_src/jak3/levels/city/blow-tower/blow-tower-obs2.gc +++ b/goal_src/jak3/levels/city/blow-tower/blow-tower-obs2.gc @@ -99,13 +99,13 @@ (defmethod on-death ((this bt-roboguard)) (cond - ((logtest? (-> *part-group-id-table* 1460 flags) (sp-group-flag sp13)) + ((logtest? (-> group-bt-roboguard-explode flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (get-trans this 3)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 1460)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-bt-roboguard-explode) ) (else (vector-copy! (-> *launch-matrix* trans) (get-trans this 3)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 1460)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-bt-roboguard-explode) ) ) (send-event (handle->process (-> this focus)) 'bt-roboguard-release) @@ -701,7 +701,7 @@ (new 'static 'vector :x -1187.84 :y -3112.96 :z 1392.64 :w 163840.0) ) (add-connection *part-engine* this 7 this 2204 (new 'static 'vector :y 1433.6 :z 1228.8 :w 163840.0)) - (set! (-> this engine-part) (create-launch-control (-> *part-group-id-table* 1462) this)) + (set! (-> this engine-part) (create-launch-control group-bt-mh-flyer-engine this)) (call-parent-method this) ) @@ -1086,7 +1086,7 @@ (blow-tower-enemy-method-35 this) (set! (-> this hit-sound) (new-sound-id)) (set! (-> this breathe-sound) (new-sound-id)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 1459) this)) + (set! (-> this part) (create-launch-control group-grunt-hit-pickup this)) (let ((v0-8 (-> this start-pos))) (vector-copy! v0-8 (-> this root trans)) v0-8 @@ -2147,7 +2147,7 @@ (set! (-> self entity extra vis-dist) 819200.0) ) :exit (behavior () - (initialize (-> self part) (-> *part-group-id-table* 1459) self) + (initialize (-> self part) group-grunt-hit-pickup self) ) ) @@ -2495,13 +2495,13 @@ (sound-play "missile-explode") (let ((v1-3 (get-trans self 3))) (cond - ((logtest? (-> *part-group-id-table* 218 flags) (sp-group-flag sp13)) + ((logtest? (-> group-kg-big-explosion flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) v1-3) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 218)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-kg-big-explosion) ) (else (vector-copy! (-> *launch-matrix* trans) v1-3) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 218)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-kg-big-explosion) ) ) ) @@ -2774,13 +2774,13 @@ (defmethod on-death ((this bt-missile)) (logior! (-> this focus-status) (focus-status dead)) (cond - ((logtest? (-> *part-group-id-table* 218 flags) (sp-group-flag sp13)) + ((logtest? (-> group-kg-big-explosion flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (get-trans this 3)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 218)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-kg-big-explosion) ) (else (vector-copy! (-> *launch-matrix* trans) (get-trans this 3)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 218)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-kg-big-explosion) ) ) (sound-play "missile-explode") diff --git a/goal_src/jak3/levels/city/blow-tower/cty-blow-tower.gc b/goal_src/jak3/levels/city/blow-tower/cty-blow-tower.gc index eaf854cc29..ee2e5f3acd 100644 --- a/goal_src/jak3/levels/city/blow-tower/cty-blow-tower.gc +++ b/goal_src/jak3/levels/city/blow-tower/cty-blow-tower.gc @@ -438,13 +438,13 @@ 0 (sound-play "snd-ship-explod") (cond - ((logtest? (-> *part-group-id-table* 296 flags) (sp-group-flag sp13)) + ((logtest? (-> group-hijack-kgpickup-explode flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 296)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-hijack-kgpickup-explode) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 296)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-hijack-kgpickup-explode) ) ) (send-event (handle->process (-> self task-man)) 'vehicle-explode) @@ -1022,13 +1022,13 @@ (defmethod on-attacked ((this bt-hellcat) (arg0 float) (arg1 attack-info) (arg2 process-focusable)) (sound-play "snd-hellcat-hit") (cond - ((logtest? (-> *part-group-id-table* 1458 flags) (sp-group-flag sp13)) + ((logtest? (-> group-bt-dummy flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> arg1 intersection)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 1458)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-bt-dummy) ) (else (vector-copy! (-> *launch-matrix* trans) (-> arg1 intersection)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 1458)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-bt-dummy) ) ) (if (logtest? (-> arg1 mask) (attack-mask control)) @@ -2831,7 +2831,7 @@ (let ((s3-2 (vector+! (new 'stack-no-clear 'vector) (-> s4-2 start-pos) (-> s4-2 move-dist)))) (sound-play "hellcat-riccos" :position s3-2) (cond - ((logtest? (-> *part-group-id-table* 1461 flags) (sp-group-flag sp13)) + ((logtest? (-> group-gun-hellcat-shot-hit flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (vector+! @@ -2840,7 +2840,7 @@ (vector-normalize-copy! (new 'stack-no-clear 'vector) (-> s4-2 move-dist) -4096.0) ) ) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 1461)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-gun-hellcat-shot-hit) ) (else (vector-copy! @@ -2851,7 +2851,7 @@ (vector-normalize-copy! (new 'stack-no-clear 'vector) (-> s4-2 move-dist) -4096.0) ) ) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 1461)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-gun-hellcat-shot-hit) ) ) ) @@ -4384,13 +4384,13 @@ ) ) (cond - ((logtest? (-> *part-group-id-table* 1458 flags) (sp-group-flag sp13)) + ((logtest? (-> group-bt-dummy flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> s2-1 intersection)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 1458)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-bt-dummy) ) (else (vector-copy! (-> *launch-matrix* trans) (-> s2-1 intersection)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 1458)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-bt-dummy) ) ) (let ((s1-7 (vector-! (new 'stack-no-clear 'vector) (get-trans this 3) (-> s2-1 intersection)))) @@ -4399,13 +4399,13 @@ ) ) ) - ((logtest? (-> *part-group-id-table* 1458 flags) (sp-group-flag sp13)) + ((logtest? (-> group-bt-dummy flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> arg1 intersection)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 1458)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-bt-dummy) ) (else (vector-copy! (-> *launch-matrix* trans) (-> arg1 intersection)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 1458)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-bt-dummy) ) ) (call-parent-method this arg0 arg1 arg2) diff --git a/goal_src/jak3/levels/city/bombbot/bombbot.gc b/goal_src/jak3/levels/city/bombbot/bombbot.gc index c7e582d4c4..23f18e9549 100644 --- a/goal_src/jak3/levels/city/bombbot/bombbot.gc +++ b/goal_src/jak3/levels/city/bombbot/bombbot.gc @@ -598,7 +598,7 @@ (quaternion-identity! (-> gp-1 spawn-quat)) (set! (-> gp-1 radius) 12288.0) (set! (-> gp-1 scale) 1.0) - (set! (-> gp-1 group) (-> *part-group-id-table* 219)) + (set! (-> gp-1 group) group-kg-explosion) (set! (-> gp-1 collide-with) (collide-spec backgnd jak crate civilian enemy obstacle vehicle-sphere hit-by-others-list player-list pusher) ) @@ -782,8 +782,8 @@ (vector-copy! (-> self rot-axis) s5-2) ) (set! (-> self rot-angle) 65536.0) - (set! (-> self explode-part) (create-launch-control (-> *part-group-id-table* 219) self)) - (set! (-> self warning-glow-part) (create-launch-control (-> *part-group-id-table* 525) self)) + (set! (-> self explode-part) (create-launch-control group-kg-explosion self)) + (set! (-> self warning-glow-part) (create-launch-control group-bombbot-bomb-warning-glow self)) (logclear! (-> self mask) (process-mask actor-pause)) (go-virtual idle) ) @@ -1411,13 +1411,13 @@ (activate! *camera-smush-control* f30-1 37 600 1.0 0.1 (-> pp clock)) ) (cond - ((logtest? (-> *part-group-id-table* 23 flags) (sp-group-flag sp13)) + ((logtest? (-> group-land-poof-stn flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> s1-0 position)) - (part-tracker-spawn part-tracker-subsampler :to this :group (-> *part-group-id-table* 23)) + (part-tracker-spawn part-tracker-subsampler :to this :group group-land-poof-stn) ) (else (vector-copy! (-> *launch-matrix* trans) (-> s1-0 position)) - (part-tracker-spawn part-tracker :to this :group (-> *part-group-id-table* 23)) + (part-tracker-spawn part-tracker :to this :group group-land-poof-stn) ) ) (when (or (zero? s4-0) (= s4-0 1)) @@ -2463,7 +2463,7 @@ (quaternion-identity! (-> gp-0 spawn-quat)) (set! (-> gp-0 radius) 61440.0) (set! (-> gp-0 scale) 1.0) - (set! (-> gp-0 group) (-> *part-group-id-table* 217)) + (set! (-> gp-0 group) group-kg-huge-explosion) (set! (-> gp-0 collide-with) (collide-spec backgnd jak crate civilian enemy obstacle vehicle-sphere hit-by-others-list player-list pusher) ) diff --git a/goal_src/jak3/levels/city/common/cty-guard-projectile.gc b/goal_src/jak3/levels/city/common/cty-guard-projectile.gc index dd6bb0afa0..0fc899b6ae 100644 --- a/goal_src/jak3/levels/city/common/cty-guard-projectile.gc +++ b/goal_src/jak3/levels/city/common/cty-guard-projectile.gc @@ -98,7 +98,7 @@ (let ((t9-3 (method-of-type projectile-bounce init-proj-settings!))) (t9-3 this) ) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 213) this)) + (set! (-> this part) (create-launch-control group-guard-grenade this)) (set! (-> this blast-radius) 16384.0) (set! (-> this max-speed) 90112.0) (set! (-> this timeout) (seconds 4)) @@ -172,7 +172,7 @@ (quaternion-identity! (-> gp-0 spawn-quat)) (set! (-> gp-0 radius) (-> self blast-radius)) (set! (-> gp-0 scale) 1.0) - (set! (-> gp-0 group) (-> *part-group-id-table* 104)) + (set! (-> gp-0 group) group-gun-dark-shot-hit) (set! (-> gp-0 collide-with) (collide-spec backgnd jak crate civilian enemy obstacle vehicle-sphere hit-by-others-list player-list pusher) ) diff --git a/goal_src/jak3/levels/city/common/guard-tazer.gc b/goal_src/jak3/levels/city/common/guard-tazer.gc index f7c9a927ea..262d096eae 100644 --- a/goal_src/jak3/levels/city/common/guard-tazer.gc +++ b/goal_src/jak3/levels/city/common/guard-tazer.gc @@ -145,23 +145,23 @@ ) ) (cond - ((logtest? (-> *part-group-id-table* 254 flags) (sp-group-flag sp13)) + ((logtest? (-> part-crimson-lightning-glow flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) s4-0) - (part-tracker-spawn part-tracker-subsampler :to this :group (-> *part-group-id-table* 254)) + (part-tracker-spawn part-tracker-subsampler :to this :group part-crimson-lightning-glow) ) (else (vector-copy! (-> *launch-matrix* trans) s4-0) - (part-tracker-spawn part-tracker :to this :group (-> *part-group-id-table* 254)) + (part-tracker-spawn part-tracker :to this :group part-crimson-lightning-glow) ) ) (cond - ((logtest? (-> *part-group-id-table* 254 flags) (sp-group-flag sp13)) + ((logtest? (-> part-crimson-lightning-glow flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) s5-0) - (part-tracker-spawn part-tracker-subsampler :to this :group (-> *part-group-id-table* 254)) + (part-tracker-spawn part-tracker-subsampler :to this :group part-crimson-lightning-glow) ) (else (vector-copy! (-> *launch-matrix* trans) s5-0) - (part-tracker-spawn part-tracker :to this :group (-> *part-group-id-table* 254)) + (part-tracker-spawn part-tracker :to this :group part-crimson-lightning-glow) ) ) (set-point! (-> this l-control) 0 s4-0) @@ -196,23 +196,23 @@ ) (else (cond - ((logtest? (-> *part-group-id-table* 254 flags) (sp-group-flag sp13)) + ((logtest? (-> part-crimson-lightning-glow flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) s4-0) - (part-tracker-spawn part-tracker-subsampler :to this :group (-> *part-group-id-table* 254)) + (part-tracker-spawn part-tracker-subsampler :to this :group part-crimson-lightning-glow) ) (else (vector-copy! (-> *launch-matrix* trans) s4-0) - (part-tracker-spawn part-tracker :to this :group (-> *part-group-id-table* 254)) + (part-tracker-spawn part-tracker :to this :group part-crimson-lightning-glow) ) ) (cond - ((logtest? (-> *part-group-id-table* 254 flags) (sp-group-flag sp13)) + ((logtest? (-> part-crimson-lightning-glow flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) s5-0) - (part-tracker-spawn part-tracker-subsampler :to this :group (-> *part-group-id-table* 254)) + (part-tracker-spawn part-tracker-subsampler :to this :group part-crimson-lightning-glow) ) (else (vector-copy! (-> *launch-matrix* trans) s5-0) - (part-tracker-spawn part-tracker :to this :group (-> *part-group-id-table* 254)) + (part-tracker-spawn part-tracker :to this :group part-crimson-lightning-glow) ) ) (set! (-> this l-control state points-to-draw) 9) diff --git a/goal_src/jak3/levels/city/common/krimson-wall.gc b/goal_src/jak3/levels/city/common/krimson-wall.gc index 6cf0638f16..400e29bdfb 100644 --- a/goal_src/jak3/levels/city/common/krimson-wall.gc +++ b/goal_src/jak3/levels/city/common/krimson-wall.gc @@ -144,25 +144,25 @@ (cond ((zero? v1-9) (cond - ((logtest? (-> *part-group-id-table* 217 flags) (sp-group-flag sp13)) + ((logtest? (-> group-kg-huge-explosion flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) gp-0) - (part-tracker-spawn part-tracker-subsampler :to self :group (-> *part-group-id-table* 217)) + (part-tracker-spawn part-tracker-subsampler :to self :group group-kg-huge-explosion) ) (else (vector-copy! (-> *launch-matrix* trans) gp-0) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 217)) + (part-tracker-spawn part-tracker :to self :group group-kg-huge-explosion) ) ) ) ((= v1-9 1) (cond - ((logtest? (-> *part-group-id-table* 218 flags) (sp-group-flag sp13)) + ((logtest? (-> group-kg-big-explosion flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) gp-0) - (part-tracker-spawn part-tracker-subsampler :to self :group (-> *part-group-id-table* 218)) + (part-tracker-spawn part-tracker-subsampler :to self :group group-kg-big-explosion) ) (else (vector-copy! (-> *launch-matrix* trans) gp-0) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 218)) + (part-tracker-spawn part-tracker :to self :group group-kg-big-explosion) ) ) ) diff --git a/goal_src/jak3/levels/city/ctywide-obs.gc b/goal_src/jak3/levels/city/ctywide-obs.gc index 548c8453ad..b09ff8470e 100644 --- a/goal_src/jak3/levels/city/ctywide-obs.gc +++ b/goal_src/jak3/levels/city/ctywide-obs.gc @@ -1058,19 +1058,19 @@ ) 0 (cond - ((logtest? (-> *part-group-id-table* 224 flags) (sp-group-flag sp13)) + ((logtest? (-> group-vehicle-explosion flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (vector+*! (new 'stack-no-clear 'vector) (-> self root trans) *up-vector* 8192.0) ) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 224)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-vehicle-explosion) ) (else (vector-copy! (-> *launch-matrix* trans) (vector+*! (new 'stack-no-clear 'vector) (-> self root trans) *up-vector* 8192.0) ) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 224)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-vehicle-explosion) ) ) (go-virtual broken) @@ -1277,7 +1277,7 @@ (defmethod propa-method-31 ((this propa)) (logior! (-> this mask) (process-mask crate)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 259) this)) + (set! (-> this part) (create-launch-control group-ctywide-baron-propoganda-holo this)) 0 (none) ) @@ -1824,9 +1824,9 @@ ) (defmethod burning-bush-method-33 ((this burning-bush)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 260) this)) - (set! (-> this part-off) (create-launch-control (-> *part-group-id-table* 261) this)) - (set! (-> this part-alert) (create-launch-control (-> *part-group-id-table* 262) this)) + (set! (-> this part) (create-launch-control group-ctywide-burning-bush-holo-on this)) + (set! (-> this part-off) (create-launch-control group-ctywide-burning-bush-holo-off this)) + (set! (-> this part-alert) (create-launch-control group-ctywide-burning-bush-holo-red this)) 0 (none) ) @@ -3155,7 +3155,7 @@ (set! (-> this root) (new 'process 'trsqv)) (process-drawable-from-entity! this arg0) (logclear! (-> this mask) (process-mask actor-pause)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 297) this)) + (set! (-> this part) (create-launch-control group-mh-tower-smoke-cty this)) (cond ((not (task-node-closed? (game-task-node tower-destroy-resolution))) (cleanup-for-death this) diff --git a/goal_src/jak3/levels/city/destroy-grid/cty-destroy-grid.gc b/goal_src/jak3/levels/city/destroy-grid/cty-destroy-grid.gc index 4bbeb04141..751fea166d 100644 --- a/goal_src/jak3/levels/city/destroy-grid/cty-destroy-grid.gc +++ b/goal_src/jak3/levels/city/destroy-grid/cty-destroy-grid.gc @@ -2060,7 +2060,7 @@ (quaternion-identity! (-> gp-4 spawn-quat)) (set! (-> gp-4 radius) 32768.0) (set! (-> gp-4 scale) 1.0) - (set! (-> gp-4 group) (-> *part-group-id-table* 217)) + (set! (-> gp-4 group) group-kg-huge-explosion) (set! (-> gp-4 collide-with) (collide-spec backgnd jak crate civilian enemy obstacle vehicle-sphere hit-by-others-list player-list pusher) ) diff --git a/goal_src/jak3/levels/city/hijack/cty-hijack-missile.gc b/goal_src/jak3/levels/city/hijack/cty-hijack-missile.gc index dbc2cc96a7..85894d80ca 100644 --- a/goal_src/jak3/levels/city/hijack/cty-hijack-missile.gc +++ b/goal_src/jak3/levels/city/hijack/cty-hijack-missile.gc @@ -314,7 +314,7 @@ (set! (-> self tracked-player-positions) (new 'process 'vector-array 250)) (set! (-> self tracked-player-positions length) 0) (set! (-> self last-record-time) 0) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 1432) self)) + (set! (-> self part) (create-launch-control group-missile-thruster-fire self)) (set! (-> self is-leader?) (-> arg0 is-leader?)) (set! (-> self track-obj) (-> arg0 track-obj)) (set-vector! (-> self root scale) 0.8 0.8 0.9 1.0) @@ -490,13 +490,13 @@ :virtual #t :enter (behavior () (cond - ((logtest? (-> *part-group-id-table* 217 flags) (sp-group-flag sp13)) + ((logtest? (-> group-kg-huge-explosion flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 217)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-kg-huge-explosion) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 217)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-kg-huge-explosion) ) ) (logior! (-> self draw status) (draw-control-status no-draw)) @@ -512,13 +512,13 @@ (sound-play "hj-explode") (logior! (-> self draw status) (draw-control-status no-draw)) (cond - ((logtest? (-> *part-group-id-table* 296 flags) (sp-group-flag sp13)) + ((logtest? (-> group-hijack-kgpickup-explode flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 296)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-hijack-kgpickup-explode) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 296)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-hijack-kgpickup-explode) ) ) (send-event @@ -607,13 +607,13 @@ (sound-stop (-> self peel-off-sound)) (logior! (-> self draw status) (draw-control-status no-draw)) (cond - ((logtest? (-> *part-group-id-table* 88 flags) (sp-group-flag sp13)) + ((logtest? (-> group-gun-red3-shot-explode flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 88)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-gun-red3-shot-explode) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 88)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-gun-red3-shot-explode) ) ) (send-event (handle->process (-> self track-obj)) 'missile-hit) diff --git a/goal_src/jak3/levels/city/hijack/cty-hijack.gc b/goal_src/jak3/levels/city/hijack/cty-hijack.gc index f08934f9c0..e842a31480 100644 --- a/goal_src/jak3/levels/city/hijack/cty-hijack.gc +++ b/goal_src/jak3/levels/city/hijack/cty-hijack.gc @@ -997,8 +997,8 @@ (defmethod go-idle ((this cty-missile-lure)) (set! (-> this hum-sound) (new-sound-id)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 1433) this)) - (set! (-> this sirens2) (create-launch-control (-> *part-group-id-table* 1434) this)) + (set! (-> this part) (create-launch-control group-lure-sirens this)) + (set! (-> this sirens2) (create-launch-control group-lure-sirens-dim this)) (set! (-> this raise-sound) (new-sound-id)) (cond ((-> this is-naughty-ottsel?) diff --git a/goal_src/jak3/levels/city/port/attack/ctyport-attack.gc b/goal_src/jak3/levels/city/port/attack/ctyport-attack.gc index 9f52b8f11f..431da38efe 100644 --- a/goal_src/jak3/levels/city/port/attack/ctyport-attack.gc +++ b/goal_src/jak3/levels/city/port/attack/ctyport-attack.gc @@ -1925,7 +1925,7 @@ (set! (-> self root) (new 'process 'trsqv)) (vector-copy! (-> self root trans) arg0) (quaternion-identity! (-> self root quat)) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 530) self)) + (set! (-> self part) (create-launch-control group-nuke-fuel self)) (go-virtual idle) ) diff --git a/goal_src/jak3/levels/city/port/attack/h-torpedo.gc b/goal_src/jak3/levels/city/port/attack/h-torpedo.gc index c7cba18c6d..98bbf2a621 100644 --- a/goal_src/jak3/levels/city/port/attack/h-torpedo.gc +++ b/goal_src/jak3/levels/city/port/attack/h-torpedo.gc @@ -1100,18 +1100,17 @@ (sound-stop (-> self ground-sound)) (sound-stop (-> self evasive-sound)) (sound-stop (-> self wake-sound)) - (let ((v1-45 - (cond - ((logtest? (-> *part-group-id-table* 529 flags) (sp-group-flag sp13)) - (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 529)) - ) - (else - (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 529)) - ) - ) - ) + (let ((v1-45 (cond + ((logtest? (-> group-torpedo-explosion flags) (sp-group-flag sp13)) + (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-torpedo-explosion) + ) + (else + (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-torpedo-explosion) + ) + ) + ) ) (send-event (ppointer->process v1-45) 'clock self) ) @@ -1492,7 +1491,7 @@ (set! (-> this ground-sound) (new-sound-id)) (set! (-> this evasive-sound) (new-sound-id)) (set! (-> this wake-sound) (new-sound-id)) - (set! (-> this heat-haze) (create-launch-control (-> *part-group-id-table* 526) this)) + (set! (-> this heat-haze) (create-launch-control group-daxter-missile-heathaze this)) (let* ((s5-1 (-> this heat-haze)) (s4-1 (method-of-object s5-1 set-local-space-info)) (s3-0 (add-connection *part-local-space-engine* this local-space-proc-joint 0 0 0)) @@ -1553,18 +1552,18 @@ (when (and (-> this on-water?) (= (-> this jump-state) 0)) ) (when (-> this spawn-splash?) - (if (logtest? (-> *part-group-id-table* 528 flags) (sp-group-flag sp13)) + (if (logtest? (-> group-nuke-water-splash flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 528) + :group group-nuke-water-splash :target this :mat-joint (the-as object 0) ) (part-tracker-spawn part-tracker :to *entity-pool* - :group (-> *part-group-id-table* 528) + :group group-nuke-water-splash :target this :mat-joint (the-as object 0) ) diff --git a/goal_src/jak3/levels/city/protect/assault-enemies.gc b/goal_src/jak3/levels/city/protect/assault-enemies.gc index 7ab368249d..e2ac5de5bc 100644 --- a/goal_src/jak3/levels/city/protect/assault-enemies.gc +++ b/goal_src/jak3/levels/city/protect/assault-enemies.gc @@ -1072,20 +1072,20 @@ (quaternion-rotate-y! (-> this root quat) (-> this root quat) (rand-vu-float-range 0.0 65536.0)) (case (-> this ammo-type) (((pickup-type ammo-yellow)) - (set! (-> this collect-effect) (-> *part-group-id-table* 136)) + (set! (-> this collect-effect) group-ammo-yellow-collect) ) (((pickup-type ammo-red)) - (set! (-> this collect-effect) (-> *part-group-id-table* 137)) + (set! (-> this collect-effect) group-ammo-red-collect) ) (((pickup-type ammo-blue)) - (set! (-> this collect-effect) (-> *part-group-id-table* 138)) + (set! (-> this collect-effect) group-ammo-blue-collect) ) (((pickup-type ammo-dark)) - (set! (-> this collect-effect) (-> *part-group-id-table* 139)) + (set! (-> this collect-effect) group-ammo-dark-collect) ) (((pickup-type eco-pill-dark)) - (set! (-> this collect-effect) (-> *part-group-id-table* 140)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 128) this)) + (set! (-> this collect-effect) group-eco-dark-pill-collect) + (set! (-> this part) (create-launch-control group-eco-dark-pill this)) ) ) (case (-> this ammo-type) @@ -1146,16 +1146,16 @@ ) (case (-> this ammo-type) (((pickup-type ammo-yellow)) - (set! (-> this ammo-effect) (-> *part-group-id-table* 164)) + (set! (-> this ammo-effect) group-eco-yellow) ) (((pickup-type ammo-red)) - (set! (-> this ammo-effect) (-> *part-group-id-table* 158)) + (set! (-> this ammo-effect) group-eco-red) ) (((pickup-type ammo-blue)) - (set! (-> this ammo-effect) (-> *part-group-id-table* 154)) + (set! (-> this ammo-effect) group-eco-blue) ) (((pickup-type ammo-dark)) - (set! (-> this ammo-effect) (-> *part-group-id-table* 129)) + (set! (-> this ammo-effect) group-eco-green) ) ) (update-transforms (-> this root)) @@ -1575,13 +1575,17 @@ (defmethod projectile-method-26 ((this assault-bombbot-shot)) (cond - ((logtest? (-> *part-group-id-table* 1435 flags) (sp-group-flag sp13)) + ((logtest? (-> group-dummy-explode-assault-bombbot-explode flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> this root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 1435)) + (part-tracker-spawn + part-tracker-subsampler + :to *entity-pool* + :group group-dummy-explode-assault-bombbot-explode + ) ) (else (vector-copy! (-> *launch-matrix* trans) (-> this root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 1435)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-dummy-explode-assault-bombbot-explode) ) ) ((method-of-type guard-shot projectile-method-26) this) diff --git a/goal_src/jak3/levels/city/protect/flying-turret.gc b/goal_src/jak3/levels/city/protect/flying-turret.gc index f1bad3cc88..df207be415 100644 --- a/goal_src/jak3/levels/city/protect/flying-turret.gc +++ b/goal_src/jak3/levels/city/protect/flying-turret.gc @@ -1241,13 +1241,13 @@ :parent (flying-turret flying-turret-base-state) :code (behavior () (cond - ((logtest? (-> *part-group-id-table* 221 flags) (sp-group-flag sp13)) + ((logtest? (-> group-kg-small-explosion flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 221)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-kg-small-explosion) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 221)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-kg-small-explosion) ) ) (when (kg-squad-member-method-220 self) diff --git a/goal_src/jak3/levels/city/protect/protect-gunship.gc b/goal_src/jak3/levels/city/protect/protect-gunship.gc index 420c227a1b..259ba10521 100644 --- a/goal_src/jak3/levels/city/protect/protect-gunship.gc +++ b/goal_src/jak3/levels/city/protect/protect-gunship.gc @@ -1188,23 +1188,23 @@ (transform-post) (logclear! (-> self mask) (process-mask enemy)) (cond - ((logtest? (-> *part-group-id-table* 997 flags) (sp-group-flag sp13)) + ((logtest? (-> group-gunship-target-explode flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 997)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-gunship-target-explode) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 997)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-gunship-target-explode) ) ) (cond - ((logtest? (-> *part-group-id-table* 212 flags) (sp-group-flag sp13)) + ((logtest? (-> group-guard-shot-hit flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 212)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-guard-shot-hit) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 212)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-guard-shot-hit) ) ) (remove-attacker *cty-attack-controller* (-> self attacker-info)) @@ -1403,7 +1403,7 @@ 40960.0 ) ) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 1454) this)) + (set! (-> this part) (create-launch-control group-protect-gunship-cannon-charge this)) (let* ((s5-5 (-> this part)) (s4-0 (method-of-object s5-5 set-local-space-info)) (s3-0 (add-connection *part-local-space-engine* this local-space-proc-joint 17 0 0)) @@ -1420,7 +1420,7 @@ (s4-0 s5-5 (the-as particle-local-space-info s3-0)) ) (dotimes (s5-6 4) - (set! (-> this smoke-parts s5-6) (create-launch-control (-> *part-group-id-table* 1451) this)) + (set! (-> this smoke-parts s5-6) (create-launch-control group-gunship-damage this)) ) (go (method-of-object this raising)) ) @@ -1576,13 +1576,13 @@ (transform-post) (sound-play "gship-explode") (cond - ((logtest? (-> *part-group-id-table* 1453 flags) (sp-group-flag sp13)) + ((logtest? (-> group-grp-gunship-explosion flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 1453)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-grp-gunship-explosion) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 1453)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-grp-gunship-explosion) ) ) ) @@ -1848,13 +1848,13 @@ 0 (transform-post) (cond - ((logtest? (-> *part-group-id-table* 104 flags) (sp-group-flag sp13)) + ((logtest? (-> group-gun-dark-shot-hit flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self dest-pos)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 104)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-gun-dark-shot-hit) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self dest-pos)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 104)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-gun-dark-shot-hit) ) ) (send-event (ppointer->process (-> self parent)) 'missile-die (-> self index)) @@ -2190,18 +2190,17 @@ (vector-copy! v1-152 (-> this missile-info missile-dest-positions s5-5)) (+! (-> v1-152 y) 409.6) (set! (-> this missile-info beacon-handles s5-5) - (ppointer->handle - (cond - ((logtest? (-> *part-group-id-table* 1452 flags) (sp-group-flag sp13)) - (vector-copy! (-> *launch-matrix* trans) v1-152) - (part-tracker-spawn part-tracker-subsampler :to this :group (-> *part-group-id-table* 1452)) - ) - (else - (vector-copy! (-> *launch-matrix* trans) v1-152) - (part-tracker-spawn part-tracker :to this :group (-> *part-group-id-table* 1452)) - ) - ) - ) + (ppointer->handle (cond + ((logtest? (-> group-missile-beacon flags) (sp-group-flag sp13)) + (vector-copy! (-> *launch-matrix* trans) v1-152) + (part-tracker-spawn part-tracker-subsampler :to this :group group-missile-beacon) + ) + (else + (vector-copy! (-> *launch-matrix* trans) v1-152) + (part-tracker-spawn part-tracker :to this :group group-missile-beacon) + ) + ) + ) ) ) (+! (-> this missile-info missile-probe-index) 1) diff --git a/goal_src/jak3/levels/city/protect/roboguard-city.gc b/goal_src/jak3/levels/city/protect/roboguard-city.gc index 535d7b8f9b..87d040f74b 100644 --- a/goal_src/jak3/levels/city/protect/roboguard-city.gc +++ b/goal_src/jak3/levels/city/protect/roboguard-city.gc @@ -1676,13 +1676,13 @@ :code (behavior () (let ((v1-1 (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node roboguard-city-lod0-jg chest)))) (cond - ((logtest? (-> *part-group-id-table* 219 flags) (sp-group-flag sp13)) + ((logtest? (-> group-kg-explosion flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) v1-1) - (part-tracker-spawn part-tracker-subsampler :to self :group (-> *part-group-id-table* 219)) + (part-tracker-spawn part-tracker-subsampler :to self :group group-kg-explosion) ) (else (vector-copy! (-> *launch-matrix* trans) v1-1) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 219)) + (part-tracker-spawn part-tracker :to self :group group-kg-explosion) ) ) ) diff --git a/goal_src/jak3/levels/city/sniper/cty-sniper-battery.gc b/goal_src/jak3/levels/city/sniper/cty-sniper-battery.gc index 95595ea49a..9c11b8ac33 100644 --- a/goal_src/jak3/levels/city/sniper/cty-sniper-battery.gc +++ b/goal_src/jak3/levels/city/sniper/cty-sniper-battery.gc @@ -575,7 +575,7 @@ (defbehavior cty-sniper-battery-handler cty-sniper-battery ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('get-buttons-actor-group) - (&-> (-> self actor-group) 0) + (&-> self actor-group 0) ) (('move-trans) (let ((v0-0 (the-as object (-> self root trans)))) @@ -797,13 +797,13 @@ :code (behavior () (sound-play "destroy-battery") (cond - ((logtest? (-> *part-group-id-table* 1464 flags) (sp-group-flag sp13)) + ((logtest? (-> group-sniper-battery-explosion flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 1464)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-sniper-battery-explosion) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 1464)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-sniper-battery-explosion) ) ) (let ((v1-35 (-> self root root-prim))) @@ -930,7 +930,7 @@ ) ) (set! (-> this halted) #f) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 1463) this)) + (set! (-> this part) (create-launch-control group-cty-sniper-battery-glow this)) (logior! (-> this mask) (process-mask enemy)) (go (method-of-object this idle)) ) diff --git a/goal_src/jak3/levels/city/sniper/cty-sniper-turret.gc b/goal_src/jak3/levels/city/sniper/cty-sniper-turret.gc index 69916511e2..f1489c99f5 100644 --- a/goal_src/jak3/levels/city/sniper/cty-sniper-turret.gc +++ b/goal_src/jak3/levels/city/sniper/cty-sniper-turret.gc @@ -1185,26 +1185,31 @@ (vector+! (-> gp-0 trans) (-> this root trans) s3-0) (cond ((-> this hit-actor?) - (if (logtest? (-> *part-group-id-table* 1466 flags) (sp-group-flag sp13)) + (if (logtest? (-> group-cty-sniper-turret-shot-hit-object flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 1466) + :group group-cty-sniper-turret-shot-hit-object + :mat-joint gp-0 + ) + (part-tracker-spawn + part-tracker + :to *entity-pool* + :group group-cty-sniper-turret-shot-hit-object :mat-joint gp-0 ) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 1466) :mat-joint gp-0) ) ) - ((logtest? (-> *part-group-id-table* 1467 flags) (sp-group-flag sp13)) + ((logtest? (-> group-cty-sniper-turret-shot-hit flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 1467) + :group group-cty-sniper-turret-shot-hit :mat-joint gp-0 ) ) (else - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 1467) :mat-joint gp-0) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-cty-sniper-turret-shot-hit :mat-joint gp-0) ) ) ) @@ -2947,13 +2952,13 @@ ) :code (behavior () (cond - ((logtest? (-> *part-group-id-table* 1465 flags) (sp-group-flag sp13)) + ((logtest? (-> group-sniper-turret-explosion flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 1465)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-sniper-turret-explosion) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 1465)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-sniper-turret-explosion) ) ) (suspend) diff --git a/goal_src/jak3/levels/city/traffic/citizen/metalhead-flitter.gc b/goal_src/jak3/levels/city/traffic/citizen/metalhead-flitter.gc index f8f9040491..19a33e49d7 100644 --- a/goal_src/jak3/levels/city/traffic/citizen/metalhead-flitter.gc +++ b/goal_src/jak3/levels/city/traffic/citizen/metalhead-flitter.gc @@ -379,13 +379,13 @@ (until #f (when (< (-> self base-height) (-> self root trans y)) (cond - ((logtest? (-> *part-group-id-table* 257 flags) (sp-group-flag sp13)) + ((logtest? (-> group-flitter-dust-puff flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 257)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-flitter-dust-puff) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 257)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-flitter-dust-puff) ) ) (goto cfg-14) diff --git a/goal_src/jak3/levels/city/traffic/vehicle/vehicle-util.gc b/goal_src/jak3/levels/city/traffic/vehicle/vehicle-util.gc index c27fe120a5..9113170265 100644 --- a/goal_src/jak3/levels/city/traffic/vehicle/vehicle-util.gc +++ b/goal_src/jak3/levels/city/traffic/vehicle/vehicle-util.gc @@ -744,19 +744,14 @@ (vector-copy! (-> s4-1 1 uvec) (-> s4-1 0 uvec)) (vector-copy! (-> s4-1 1 fvec) (-> s4-1 0 fvec)) (vector-copy! (-> s4-1 1 trans) (-> s4-1 0 rvec)) - (if (logtest? (-> *part-group-id-table* 225 flags) (sp-group-flag sp13)) + (if (logtest? (-> group-vehicle-engine-start flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 225) - :mat-joint (-> s4-1 1) - ) - (part-tracker-spawn - part-tracker - :to *entity-pool* - :group (-> *part-group-id-table* 225) + :group group-vehicle-engine-start :mat-joint (-> s4-1 1) ) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-vehicle-engine-start :mat-joint (-> s4-1 1)) ) ) ) diff --git a/goal_src/jak3/levels/city/vinroom/power-game.gc b/goal_src/jak3/levels/city/vinroom/power-game.gc index 5fa2a4f9e2..84bceee37a 100644 --- a/goal_src/jak3/levels/city/vinroom/power-game.gc +++ b/goal_src/jak3/levels/city/vinroom/power-game.gc @@ -1248,7 +1248,7 @@ (set! (-> *game-info* miss) 0.0) (set! (-> *game-info* miss-max) (the float (-> this miss-max))) (set! (-> this score-met) #f) - (set! (-> this score-part 0) (create-launch-control (-> *part-group-id-table* 912) this)) + (set! (-> this score-part 0) (create-launch-control group-power-scoreboard-points this)) (let ((v1-41 (-> this root root-prim))) (set! (-> v1-41 prim-core collide-as) (collide-spec)) (set! (-> v1-41 prim-core collide-with) (collide-spec)) @@ -2098,13 +2098,13 @@ ) ) (cond - ((logtest? (-> *part-group-id-table* 911 flags) (sp-group-flag sp13)) + ((logtest? (-> group-player-die flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to self :group (-> *part-group-id-table* 911)) + (part-tracker-spawn part-tracker-subsampler :to self :group group-player-die) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 911)) + (part-tracker-spawn part-tracker :to self :group group-player-die) ) ) (sound-play "magic-poof-die") @@ -2340,11 +2340,11 @@ ) :code (behavior () (sound-play "switcher-appear") - (if (logtest? (-> *part-group-id-table* 907 flags) (sp-group-flag sp13)) + (if (logtest? (-> group-switcher-charge flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to self - :group (-> *part-group-id-table* 907) + :group group-switcher-charge :duration (seconds 4) :target self :mat-joint (the-as object 0) @@ -2352,7 +2352,7 @@ (part-tracker-spawn part-tracker :to self - :group (-> *part-group-id-table* 907) + :group group-switcher-charge :duration (seconds 4) :target self :mat-joint (the-as object 0) @@ -2495,13 +2495,13 @@ ) ) (cond - ((logtest? (-> *part-group-id-table* 908 flags) (sp-group-flag sp13)) + ((logtest? (-> group-switcher-die flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to self :group (-> *part-group-id-table* 908)) + (part-tracker-spawn part-tracker-subsampler :to self :group group-switcher-die) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 908)) + (part-tracker-spawn part-tracker :to self :group group-switcher-die) ) ) (logior! (-> self focus-status) (focus-status dead)) @@ -2747,21 +2747,15 @@ (defstate die (power-game-zapper) :virtual #t :code (behavior () - (if (logtest? (-> *part-group-id-table* 908 flags) (sp-group-flag sp13)) + (if (logtest? (-> group-switcher-die flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to self - :group (-> *part-group-id-table* 908) - :target self - :mat-joint (the-as object 0) - ) - (part-tracker-spawn - part-tracker - :to self - :group (-> *part-group-id-table* 908) + :group group-switcher-die :target self :mat-joint (the-as object 0) ) + (part-tracker-spawn part-tracker :to self :group group-switcher-die :target self :mat-joint (the-as object 0)) ) (logior! (-> self focus-status) (focus-status dead)) (ja-channel-push! 1 (seconds 0.05)) @@ -2905,13 +2899,13 @@ :virtual #t :code (behavior () (cond - ((logtest? (-> *part-group-id-table* 910 flags) (sp-group-flag sp13)) + ((logtest? (-> group-glyph-die flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 910)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-glyph-die) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 910)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-glyph-die) ) ) (sound-play "glyph-kill") @@ -2957,13 +2951,13 @@ (-> self local z) ) (cond - ((logtest? (-> *part-group-id-table* 909 flags) (sp-group-flag sp13)) + ((logtest? (-> group-glyph-charge flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to self :group (-> *part-group-id-table* 909)) + (part-tracker-spawn part-tracker-subsampler :to self :group group-glyph-charge) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 909)) + (part-tracker-spawn part-tracker :to self :group group-glyph-charge) ) ) (go-virtual active) diff --git a/goal_src/jak3/levels/comb/comb-obs.gc b/goal_src/jak3/levels/comb/comb-obs.gc index 6e7a8fb2ec..e6e848c59f 100644 --- a/goal_src/jak3/levels/comb/comb-obs.gc +++ b/goal_src/jak3/levels/comb/comb-obs.gc @@ -486,7 +486,7 @@ (set! (-> this draw lod-set lod 0 dist) 1228800.0) (set! (-> this draw lod-set lod 1 dist) 1232896.0) (dotimes (s5-2 4) - (set! (-> this parts s5-2) (create-launch-control (-> *part-group-id-table* 1235) this)) + (set! (-> this parts s5-2) (create-launch-control group-comb-obstacle-glow this)) ) (set-cspec! this) (go (method-of-object this idle)) @@ -639,7 +639,7 @@ (quaternion-identity! (-> gp-1 spawn-quat)) (set! (-> gp-1 radius) 40960.0) (set! (-> gp-1 scale) 1.0) - (set! (-> gp-1 group) (-> *part-group-id-table* 217)) + (set! (-> gp-1 group) group-kg-huge-explosion) (set! (-> gp-1 collide-with) (collide-spec backgnd jak crate civilian enemy obstacle vehicle-sphere hit-by-others-list player-list pusher) ) diff --git a/goal_src/jak3/levels/comb/comb-scenes.gc b/goal_src/jak3/levels/comb/comb-scenes.gc index 5862dc195d..9fd579126c 100644 --- a/goal_src/jak3/levels/comb/comb-scenes.gc +++ b/goal_src/jak3/levels/comb/comb-scenes.gc @@ -216,11 +216,11 @@ ) (while (>= s5-0 gp-0) (when (not (or (and (>= gp-0 13) (>= 21 gp-0)) (and (>= gp-0 26) (>= 34 gp-0)))) - (if (logtest? (-> *part-group-id-table* 1252 flags) (sp-group-flag sp13)) + (if (logtest? (-> group-outro-precursor-entity flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to self - :group (-> *part-group-id-table* 1252) + :group group-outro-precursor-entity :duration (seconds 17.135) :target self :mat-joint gp-0 @@ -228,7 +228,7 @@ (part-tracker-spawn part-tracker :to self - :group (-> *part-group-id-table* 1252) + :group group-outro-precursor-entity :duration (seconds 17.135) :target self :mat-joint gp-0 diff --git a/goal_src/jak3/levels/comb/comb-sentry.gc b/goal_src/jak3/levels/comb/comb-sentry.gc index 6368e64b08..8cd19cc2da 100644 --- a/goal_src/jak3/levels/comb/comb-sentry.gc +++ b/goal_src/jak3/levels/comb/comb-sentry.gc @@ -90,23 +90,23 @@ ((-> this hit-actor?) (sound-play "sentry-hit") (cond - ((logtest? (-> *part-group-id-table* 211 flags) (sp-group-flag sp13)) + ((logtest? (-> group-guard-shot-hit-object flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) gp-0) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 211)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-guard-shot-hit-object) ) (else (vector-copy! (-> *launch-matrix* trans) gp-0) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 211)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-guard-shot-hit-object) ) ) ) - ((logtest? (-> *part-group-id-table* 212 flags) (sp-group-flag sp13)) + ((logtest? (-> group-guard-shot-hit flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) gp-0) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 212)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-guard-shot-hit) ) (else (vector-copy! (-> *launch-matrix* trans) gp-0) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 212)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-guard-shot-hit) ) ) ) @@ -645,13 +645,13 @@ (stop-hum self) (sound-play "sentry-expl") (cond - ((logtest? (-> *part-group-id-table* 217 flags) (sp-group-flag sp13)) + ((logtest? (-> group-kg-huge-explosion flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 217)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-kg-huge-explosion) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 217)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-kg-huge-explosion) ) ) (let ((gp-3 (new 'stack 'joint-exploder-tuning (the-as uint 0)))) diff --git a/goal_src/jak3/levels/comb/h-sled.gc b/goal_src/jak3/levels/comb/h-sled.gc index b2e77168d4..1390771458 100644 --- a/goal_src/jak3/levels/comb/h-sled.gc +++ b/goal_src/jak3/levels/comb/h-sled.gc @@ -214,13 +214,13 @@ (vector-copy! v1-2 (-> gp-0 trans)) (vector+! v1-2 v1-2 a0-3) (cond - ((logtest? (-> *part-group-id-table* 211 flags) (sp-group-flag sp13)) + ((logtest? (-> group-guard-shot-hit-object flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) v1-2) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 211)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-guard-shot-hit-object) ) (else (vector-copy! (-> *launch-matrix* trans) v1-2) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 211)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-guard-shot-hit-object) ) ) ) @@ -1024,7 +1024,7 @@ (set! (-> this shoot-delay) (the-as uint 30)) (set! (-> this in-tunnel) #f) (dotimes (s5-1 4) - (set! (-> this parts s5-1) (create-launch-control (-> *part-group-id-table* 1234) this)) + (set! (-> this parts s5-1) (create-launch-control group-comb-hover-vehicle-exhaust-distortion this)) ) (set! (-> this health-hud) (the-as handle #f)) (set! (-> this max-time-step) 0.02) diff --git a/goal_src/jak3/levels/comb/railx-scenes.gc b/goal_src/jak3/levels/comb/railx-scenes.gc index e3a02b2d46..4a52ab3821 100644 --- a/goal_src/jak3/levels/comb/railx-scenes.gc +++ b/goal_src/jak3/levels/comb/railx-scenes.gc @@ -390,11 +390,11 @@ ) (while (>= s5-0 gp-0) (when (not (or (and (>= gp-0 13) (>= 21 gp-0)) (and (>= gp-0 26) (>= 34 gp-0)))) - (if (logtest? (-> *part-group-id-table* 1276 flags) (sp-group-flag sp13)) + (if (logtest? (-> group-railx-precursor-entity flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 1276) + :group group-railx-precursor-entity :duration (seconds 56.867) :target self :mat-joint gp-0 @@ -402,7 +402,7 @@ (part-tracker-spawn part-tracker :to *entity-pool* - :group (-> *part-group-id-table* 1276) + :group group-railx-precursor-entity :duration (seconds 56.867) :target self :mat-joint gp-0 diff --git a/goal_src/jak3/levels/common/ai/ashelin/ash-shot.gc b/goal_src/jak3/levels/common/ai/ashelin/ash-shot.gc index 1167d2da46..9153b83a0a 100644 --- a/goal_src/jak3/levels/common/ai/ashelin/ash-shot.gc +++ b/goal_src/jak3/levels/common/ai/ashelin/ash-shot.gc @@ -292,13 +292,13 @@ (defmethod projectile-method-26 ((this ashelin-shot)) (cond - ((logtest? (-> *part-group-id-table* 222 flags) (sp-group-flag sp13)) + ((logtest? (-> group-ashelin-shot-hit flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> this root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 222)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-ashelin-shot-hit) ) (else (vector-copy! (-> *launch-matrix* trans) (-> this root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 222)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-ashelin-shot-hit) ) ) 0 diff --git a/goal_src/jak3/levels/common/enemy/darkprec/dp-bipedal-shot.gc b/goal_src/jak3/levels/common/enemy/darkprec/dp-bipedal-shot.gc index 07a9698897..501f7ea0d7 100644 --- a/goal_src/jak3/levels/common/enemy/darkprec/dp-bipedal-shot.gc +++ b/goal_src/jak3/levels/common/enemy/darkprec/dp-bipedal-shot.gc @@ -15,13 +15,13 @@ (defmethod projectile-method-26 ((this dp-bipedal-grenade-shot)) (cond - ((logtest? (-> *part-group-id-table* 246 flags) (sp-group-flag sp13)) + ((logtest? (-> group-dp-bipedal-grenade-shot-hit flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> this root trans)) - (part-tracker-spawn part-tracker-subsampler :to this :group (-> *part-group-id-table* 246)) + (part-tracker-spawn part-tracker-subsampler :to this :group group-dp-bipedal-grenade-shot-hit) ) (else (vector-copy! (-> *launch-matrix* trans) (-> this root trans)) - (part-tracker-spawn part-tracker :to this :group (-> *part-group-id-table* 246)) + (part-tracker-spawn part-tracker :to this :group group-dp-bipedal-grenade-shot-hit) ) ) 0 @@ -219,7 +219,7 @@ (set! (-> this root dynam gravity y) 102400.0) (set! (-> this root dynam gravity-length) 102400.0) (set! (-> this root dynam gravity-max) 102400.0) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 245) this)) + (set! (-> this part) (create-launch-control group-dp-bipedal-grenade-shot this)) (set! (-> this sound-id) (new-sound-id)) (none) ) diff --git a/goal_src/jak3/levels/common/enemy/darkprec/dp-bipedal.gc b/goal_src/jak3/levels/common/enemy/darkprec/dp-bipedal.gc index 9f6b598f46..e8bf104951 100644 --- a/goal_src/jak3/levels/common/enemy/darkprec/dp-bipedal.gc +++ b/goal_src/jak3/levels/common/enemy/darkprec/dp-bipedal.gc @@ -1545,13 +1545,13 @@ (set-time! (-> self effect-timer)) (set! (-> self effect-rate) 0.4) (cond - ((logtest? (-> *part-group-id-table* 242 flags) (sp-group-flag sp13)) + ((logtest? (-> group-dp-bipedal-ambush flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root root-prim prim-core world-sphere)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 242)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-dp-bipedal-ambush) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root root-prim prim-core world-sphere)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 242)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-dp-bipedal-ambush) ) ) (sound-play "dpbiped-ambush") @@ -3098,8 +3098,8 @@ ) (init-los! (-> this los) this (seconds 0.1) 327680.0 (collide-spec backgnd hit-by-others-list los-blocker)) (set! (-> this close-attack-timer) 0) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 244) this)) - (set! (-> this part-ambush) (create-launch-control (-> *part-group-id-table* 243) this)) + (set! (-> this part) (create-launch-control group-dp-bipedal-drip this)) + (set! (-> this part-ambush) (create-launch-control group-dp-bipedal-ambush-drip this)) (set! (-> this shield-sound-id) (new-sound-id)) (set! (-> this shield-handle) (the-as handle #f)) (vector-reset! (-> this focus-formation-source)) diff --git a/goal_src/jak3/levels/common/enemy/darkprec/neo-wasp.gc b/goal_src/jak3/levels/common/enemy/darkprec/neo-wasp.gc index c92a34804b..101bc48f6f 100644 --- a/goal_src/jak3/levels/common/enemy/darkprec/neo-wasp.gc +++ b/goal_src/jak3/levels/common/enemy/darkprec/neo-wasp.gc @@ -636,13 +636,13 @@ (sound-play "wasp-explode") (spawn-debris self) (cond - ((logtest? (-> *part-group-id-table* 219 flags) (sp-group-flag sp13)) + ((logtest? (-> group-kg-explosion flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to self :group (-> *part-group-id-table* 219)) + (part-tracker-spawn part-tracker-subsampler :to self :group group-kg-explosion) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 219)) + (part-tracker-spawn part-tracker :to self :group group-kg-explosion) ) ) (while (-> self child) @@ -1155,8 +1155,8 @@ (set! (-> this path) (new 'process 'curve-control this 'intro -1000000000.0)) (set! (-> this path-u) 0.0) (logior! (-> this path flags) (path-control-flag display draw-line draw-point draw-text)) - (set! (-> this smoke-part) (create-launch-control (-> *part-group-id-table* 555) this)) - (set! (-> this engine-part) (create-launch-control (-> *part-group-id-table* 557) this)) + (set! (-> this smoke-part) (create-launch-control group-neo-wasp-gun-smoke this)) + (set! (-> this engine-part) (create-launch-control group-neo-wasp-engine this)) (set! (-> this minimap) #f) (add-connection *part-engine* diff --git a/goal_src/jak3/levels/common/enemy/flitter.gc b/goal_src/jak3/levels/common/enemy/flitter.gc index 2d587ef7c9..9aa4595c13 100644 --- a/goal_src/jak3/levels/common/enemy/flitter.gc +++ b/goal_src/jak3/levels/common/enemy/flitter.gc @@ -692,13 +692,13 @@ ) :code (behavior () (cond - ((logtest? (-> *part-group-id-table* 1412 flags) (sp-group-flag sp13)) + ((logtest? (-> group-flitter-birth flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 1412)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-flitter-birth) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 1412)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-flitter-birth) ) ) (suspend-for (seconds 0.6) @@ -756,13 +756,13 @@ (until #f (when (< (-> self base-height) (-> self root trans y)) (cond - ((logtest? (-> *part-group-id-table* 257 flags) (sp-group-flag sp13)) + ((logtest? (-> group-flitter-dust-puff flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 257)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-flitter-dust-puff) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 257)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-flitter-dust-puff) ) ) (goto cfg-14) diff --git a/goal_src/jak3/levels/common/enemy/hover/robo-hover.gc b/goal_src/jak3/levels/common/enemy/hover/robo-hover.gc index 95bdc303c6..16a24d0d41 100644 --- a/goal_src/jak3/levels/common/enemy/hover/robo-hover.gc +++ b/goal_src/jak3/levels/common/enemy/hover/robo-hover.gc @@ -1060,13 +1060,13 @@ ) (let ((v1-16 (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node robo-hover-lod0-jg chest)))) (cond - ((logtest? (-> *part-group-id-table* 219 flags) (sp-group-flag sp13)) + ((logtest? (-> group-kg-explosion flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) v1-16) - (part-tracker-spawn part-tracker-subsampler :to self :group (-> *part-group-id-table* 219)) + (part-tracker-spawn part-tracker-subsampler :to self :group group-kg-explosion) ) (else (vector-copy! (-> *launch-matrix* trans) v1-16) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 219)) + (part-tracker-spawn part-tracker :to self :group group-kg-explosion) ) ) ) @@ -1726,8 +1726,8 @@ (set! (-> this path) (new 'process 'path-control this 'path 0.0 (-> this entity) #f)) (set! (-> this path-u) 0.0) (logior! (-> this path flags) (path-control-flag display draw-line draw-point draw-text)) - (set! (-> this smoke-part) (create-launch-control (-> *part-group-id-table* 558) this)) - (set! (-> this engine-part) (create-launch-control (-> *part-group-id-table* 560) this)) + (set! (-> this smoke-part) (create-launch-control group-robo-gun-smoke this)) + (set! (-> this engine-part) (create-launch-control group-robo-engine this)) (add-connection *part-engine* this diff --git a/goal_src/jak3/levels/common/enemy/kg-grunt.gc b/goal_src/jak3/levels/common/enemy/kg-grunt.gc index 2a0114dd02..7253f380a3 100644 --- a/goal_src/jak3/levels/common/enemy/kg-grunt.gc +++ b/goal_src/jak3/levels/common/enemy/kg-grunt.gc @@ -770,13 +770,13 @@ ) (let ((v1-6 (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node kg-grunt-lod0-jg chest)))) (cond - ((logtest? (-> *part-group-id-table* 220 flags) (sp-group-flag sp13)) + ((logtest? (-> group-kg-mid-explosion flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) v1-6) - (part-tracker-spawn part-tracker-subsampler :to self :group (-> *part-group-id-table* 220)) + (part-tracker-spawn part-tracker-subsampler :to self :group group-kg-mid-explosion) ) (else (vector-copy! (-> *launch-matrix* trans) v1-6) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 220)) + (part-tracker-spawn part-tracker :to self :group group-kg-mid-explosion) ) ) ) diff --git a/goal_src/jak3/levels/common/enemy/mantis.gc b/goal_src/jak3/levels/common/enemy/mantis.gc index 254a421037..626e3304ee 100644 --- a/goal_src/jak3/levels/common/enemy/mantis.gc +++ b/goal_src/jak3/levels/common/enemy/mantis.gc @@ -743,13 +743,13 @@ (vector-copy! v1-0 (-> self root trans)) (+! (-> v1-0 y) -18841.6) (cond - ((logtest? (-> *part-group-id-table* 1406 flags) (sp-group-flag sp13)) + ((logtest? (-> group-mantis-birth-nest flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) v1-0) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 1406)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-mantis-birth-nest) ) (else (vector-copy! (-> *launch-matrix* trans) v1-0) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 1406)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-mantis-birth-nest) ) ) ) diff --git a/goal_src/jak3/levels/common/enemy/prebot-eco-creature.gc b/goal_src/jak3/levels/common/enemy/prebot-eco-creature.gc index 127338b3d6..7040ed745d 100644 --- a/goal_src/jak3/levels/common/enemy/prebot-eco-creature.gc +++ b/goal_src/jak3/levels/common/enemy/prebot-eco-creature.gc @@ -1675,7 +1675,7 @@ (set! (-> this attack-stop-frame) 0.0) (set! (-> this which-trajectory) 0) (set! (-> this spin-jm) (new 'process 'joint-mod (joint-mod-mode joint-set*) this 3)) - (set! (-> this trail-part) (create-launch-control (-> *part-group-id-table* 440) this)) + (set! (-> this trail-part) (create-launch-control group-prebot-critter-trail this)) (set! (-> this flags) (eco-creature-flag)) (set! (-> this trail-sound) (new-sound-id)) (send-event (ppointer->process (-> this parent)) 'start-critter) @@ -2584,7 +2584,7 @@ (set! (-> this attack-stop-frame) 7.0) (when (type? this medium-eco-creature-launched) (set! (-> this spin-jm) (new 'process 'joint-mod (joint-mod-mode joint-set*) this 3)) - (set! (-> this trail-part) (create-launch-control (-> *part-group-id-table* 440) this)) + (set! (-> this trail-part) (create-launch-control group-prebot-critter-trail this)) (logclear! (-> this flags) (eco-creature-flag ecf3)) ) (set! (-> this flags) (eco-creature-flag)) @@ -3378,7 +3378,7 @@ (set! (-> this attack-stop-frame) 10.0) (when (type? this small-eco-creature-launched) (set! (-> this spin-jm) (new 'process 'joint-mod (joint-mod-mode joint-set*) this 3)) - (set! (-> this trail-part) (create-launch-control (-> *part-group-id-table* 440) this)) + (set! (-> this trail-part) (create-launch-control group-prebot-critter-trail this)) (logclear! (-> this flags) (eco-creature-flag ecf3)) ) (set! (-> this flags) (eco-creature-flag)) diff --git a/goal_src/jak3/levels/common/enemy/roboguard.gc b/goal_src/jak3/levels/common/enemy/roboguard.gc index 45884a2f78..36816137d3 100644 --- a/goal_src/jak3/levels/common/enemy/roboguard.gc +++ b/goal_src/jak3/levels/common/enemy/roboguard.gc @@ -1005,19 +1005,19 @@ (let ((s3-0 (-> *roboguard-debris-array-params* (+ s5-0 -1)))) (debris-spawn self a1-2 s3-0 (the-as process-drawable #f)) (cond - ((logtest? (-> *part-group-id-table* 223 flags) (sp-group-flag sp13)) + ((logtest? (-> group-roboguard-armor-explode flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data (-> s3-0 joints 0 parent-joint-index))) ) - (part-tracker-spawn part-tracker-subsampler :to self :group (-> *part-group-id-table* 223)) + (part-tracker-spawn part-tracker-subsampler :to self :group group-roboguard-armor-explode) ) (else (vector-copy! (-> *launch-matrix* trans) (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data (-> s3-0 joints 0 parent-joint-index))) ) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 223)) + (part-tracker-spawn part-tracker :to self :group group-roboguard-armor-explode) ) ) ) @@ -1130,13 +1130,13 @@ ) (let ((v1-26 (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node roboguard-lod0-jg chest)))) (cond - ((logtest? (-> *part-group-id-table* 219 flags) (sp-group-flag sp13)) + ((logtest? (-> group-kg-explosion flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) v1-26) - (part-tracker-spawn part-tracker-subsampler :to self :group (-> *part-group-id-table* 219)) + (part-tracker-spawn part-tracker-subsampler :to self :group group-kg-explosion) ) (else (vector-copy! (-> *launch-matrix* trans) v1-26) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 219)) + (part-tracker-spawn part-tracker :to self :group group-kg-explosion) ) ) ) diff --git a/goal_src/jak3/levels/common/enemy/spydroid-orig.gc b/goal_src/jak3/levels/common/enemy/spydroid-orig.gc index 7a8a85893e..75abe65210 100644 --- a/goal_src/jak3/levels/common/enemy/spydroid-orig.gc +++ b/goal_src/jak3/levels/common/enemy/spydroid-orig.gc @@ -1048,13 +1048,13 @@ (let ((v1-25 (new 'stack-no-clear 'vector))) (vector-copy! v1-25 (-> self root trans)) (cond - ((logtest? (-> *part-group-id-table* 219 flags) (sp-group-flag sp13)) + ((logtest? (-> group-kg-explosion flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) v1-25) - (part-tracker-spawn part-tracker-subsampler :to self :group (-> *part-group-id-table* 219)) + (part-tracker-spawn part-tracker-subsampler :to self :group group-kg-explosion) ) (else (vector-copy! (-> *launch-matrix* trans) v1-25) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 219)) + (part-tracker-spawn part-tracker :to self :group group-kg-explosion) ) ) ) @@ -1670,8 +1670,8 @@ 0 (set-gravity-length (-> this root dynam) 573440.0) (logior! (-> this nav flags) (nav-control-flag momentum-ignore-heading)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 1521) this)) - (set! (-> this explode-part) (create-launch-control (-> *part-group-id-table* 1522) this)) + (set! (-> this part) (create-launch-control group-spydroid-orig-trail this)) + (set! (-> this explode-part) (create-launch-control group-spydroid-orig-explode this)) (add-connection *part-engine* this diff --git a/goal_src/jak3/levels/common/enemy/spydroid.gc b/goal_src/jak3/levels/common/enemy/spydroid.gc index fb30485d16..a8eb7e21a1 100644 --- a/goal_src/jak3/levels/common/enemy/spydroid.gc +++ b/goal_src/jak3/levels/common/enemy/spydroid.gc @@ -372,19 +372,19 @@ :enter (behavior () (sound-play "droid-explode") (cond - ((logtest? (-> *part-group-id-table* 221 flags) (sp-group-flag sp13)) + ((logtest? (-> group-kg-small-explosion flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (vector+float*! (new 'stack-no-clear 'vector) (-> self root trans) *up-vector* 2048.0) ) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 221)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-kg-small-explosion) ) (else (vector-copy! (-> *launch-matrix* trans) (vector+float*! (new 'stack-no-clear 'vector) (-> self root trans) *up-vector* 2048.0) ) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 221)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-kg-small-explosion) ) ) (if (not (-> *setting-control* user-current gun-special-mode)) @@ -413,13 +413,13 @@ ) (when (not (time-elapsed? (-> self state-time) (seconds 2))) (cond - ((logtest? (-> *part-group-id-table* 219 flags) (sp-group-flag sp13)) + ((logtest? (-> group-kg-explosion flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 219)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-kg-explosion) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 219)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-kg-explosion) ) ) ) diff --git a/goal_src/jak3/levels/desert/artifact-race/artifact-race.gc b/goal_src/jak3/levels/desert/artifact-race/artifact-race.gc index e3054a7812..a5d1b26799 100644 --- a/goal_src/jak3/levels/desert/artifact-race/artifact-race.gc +++ b/goal_src/jak3/levels/desert/artifact-race/artifact-race.gc @@ -214,13 +214,13 @@ ) :code (behavior () (cond - ((logtest? (-> *part-group-id-table* 333 flags) (sp-group-flag sp13)) + ((logtest? (-> group-desert-dust-devil flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 333)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-desert-dust-devil) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 333)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-desert-dust-devil) ) ) (set-time! (-> self state-time)) diff --git a/goal_src/jak3/levels/desert/boss/deswalk-obs.gc b/goal_src/jak3/levels/desert/boss/deswalk-obs.gc index ffddcdab64..9f5e8fe592 100644 --- a/goal_src/jak3/levels/desert/boss/deswalk-obs.gc +++ b/goal_src/jak3/levels/desert/boss/deswalk-obs.gc @@ -230,7 +230,7 @@ ) (set! (-> this hit-points) 10.0) (set! (-> this incoming-attack-id) (the-as uint 0)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 442) this)) + (set! (-> this part) (create-launch-control group-dm-urchin-explosion this)) (go (method-of-object this idle)) ) @@ -472,7 +472,7 @@ ) (set! (-> this hit-points) 10.0) (set! (-> this incoming-attack-id) (the-as uint 0)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 441) this)) + (set! (-> this part) (create-launch-control group-desw-eco-tank-explosion this)) (go (method-of-object this idle)) ) @@ -550,7 +550,7 @@ (set! (-> self root) s5-0) ) (vector-copy! (-> self root trans) arg0) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 444) self)) + (set! (-> self part) (create-launch-control group-dm-tentacle-spores self)) (go-virtual idle) ) @@ -1120,98 +1120,98 @@ (when (not (logtest? (-> self flags) (dm-tentacle-flag dt7))) (sound-play "snake-blow" :position (-> self initial-position)) (activate! *camera-smush-control* 819.2 60 300 0.995 0.9 (-> *display* camera-clock)) - (if (logtest? (-> *part-group-id-table* 443 flags) (sp-group-flag sp13)) + (if (logtest? (-> group-dm-tentacle-explosion flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 443) + :group group-dm-tentacle-explosion :duration (seconds 1) :mat-joint (-> self node-list data 4 bone transform) ) (part-tracker-spawn part-tracker :to *entity-pool* - :group (-> *part-group-id-table* 443) + :group group-dm-tentacle-explosion :duration (seconds 1) :mat-joint (-> self node-list data 4 bone transform) ) ) - (if (logtest? (-> *part-group-id-table* 443 flags) (sp-group-flag sp13)) + (if (logtest? (-> group-dm-tentacle-explosion flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 443) + :group group-dm-tentacle-explosion :duration (seconds 1) :mat-joint (-> self node-list data 6 bone transform) ) (part-tracker-spawn part-tracker :to *entity-pool* - :group (-> *part-group-id-table* 443) + :group group-dm-tentacle-explosion :duration (seconds 1) :mat-joint (-> self node-list data 6 bone transform) ) ) - (if (logtest? (-> *part-group-id-table* 443 flags) (sp-group-flag sp13)) + (if (logtest? (-> group-dm-tentacle-explosion flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 443) + :group group-dm-tentacle-explosion :duration (seconds 1) :mat-joint (-> self node-list data 8 bone transform) ) (part-tracker-spawn part-tracker :to *entity-pool* - :group (-> *part-group-id-table* 443) + :group group-dm-tentacle-explosion :duration (seconds 1) :mat-joint (-> self node-list data 8 bone transform) ) ) - (if (logtest? (-> *part-group-id-table* 443 flags) (sp-group-flag sp13)) + (if (logtest? (-> group-dm-tentacle-explosion flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 443) + :group group-dm-tentacle-explosion :duration (seconds 1) :mat-joint (-> self node-list data 10 bone transform) ) (part-tracker-spawn part-tracker :to *entity-pool* - :group (-> *part-group-id-table* 443) + :group group-dm-tentacle-explosion :duration (seconds 1) :mat-joint (-> self node-list data 10 bone transform) ) ) - (if (logtest? (-> *part-group-id-table* 443 flags) (sp-group-flag sp13)) + (if (logtest? (-> group-dm-tentacle-explosion flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 443) + :group group-dm-tentacle-explosion :duration (seconds 1) :mat-joint (-> self node-list data 12 bone transform) ) (part-tracker-spawn part-tracker :to *entity-pool* - :group (-> *part-group-id-table* 443) + :group group-dm-tentacle-explosion :duration (seconds 1) :mat-joint (-> self node-list data 12 bone transform) ) ) - (if (logtest? (-> *part-group-id-table* 443 flags) (sp-group-flag sp13)) + (if (logtest? (-> group-dm-tentacle-explosion flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 443) + :group group-dm-tentacle-explosion :duration (seconds 1) :mat-joint (-> self node-list data 14 bone transform) ) (part-tracker-spawn part-tracker :to *entity-pool* - :group (-> *part-group-id-table* 443) + :group group-dm-tentacle-explosion :duration (seconds 1) :mat-joint (-> self node-list data 14 bone transform) ) @@ -1543,18 +1543,18 @@ (let ((gp-1 (new 'stack-no-clear 'matrix))) (matrix-identity! gp-1) (vector-copy! (-> gp-1 trans) (-> self initial-position)) - (if (logtest? (-> *part-group-id-table* 446 flags) (sp-group-flag sp13)) + (if (logtest? (-> group-dm-tentacle-retract flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 446) + :group group-dm-tentacle-retract :duration (seconds 1) :mat-joint gp-1 ) (part-tracker-spawn part-tracker :to *entity-pool* - :group (-> *part-group-id-table* 446) + :group group-dm-tentacle-retract :duration (seconds 1) :mat-joint gp-1 ) @@ -1586,18 +1586,18 @@ (let ((gp-0 (new 'stack-no-clear 'matrix))) (matrix-identity! gp-0) (vector-copy! (-> gp-0 trans) (-> self initial-position)) - (if (logtest? (-> *part-group-id-table* 445 flags) (sp-group-flag sp13)) + (if (logtest? (-> group-dm-tentacle-extend flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 445) + :group group-dm-tentacle-extend :duration (seconds 1) :mat-joint gp-0 ) (part-tracker-spawn part-tracker :to *entity-pool* - :group (-> *part-group-id-table* 445) + :group group-dm-tentacle-extend :duration (seconds 1) :mat-joint gp-0 ) @@ -1820,7 +1820,7 @@ (change-to a0-70 this) ) ) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 447) this)) + (set! (-> this part) (create-launch-control group-dm-tentacle-whip-hit-ground this)) (go (method-of-object this idle)) ) diff --git a/goal_src/jak3/levels/desert/boss/terraformer-drone.gc b/goal_src/jak3/levels/desert/boss/terraformer-drone.gc index 7f568ccacd..d3ca0864b7 100644 --- a/goal_src/jak3/levels/desert/boss/terraformer-drone.gc +++ b/goal_src/jak3/levels/desert/boss/terraformer-drone.gc @@ -781,7 +781,7 @@ (quaternion-identity! (-> gp-1 spawn-quat)) (set! (-> gp-1 radius) 40960.0) (set! (-> gp-1 scale) 1.0) - (set! (-> gp-1 group) (-> *part-group-id-table* 428)) + (set! (-> gp-1 group) group-terraformer-drone-explosion) (set! (-> gp-1 collide-with) (collide-spec backgnd jak crate enemy obstacle vehicle-sphere hit-by-others-list player-list pusher shield) ) @@ -917,18 +917,18 @@ (format 0 "spawning impact part~%") (matrix-identity! gp-0) (vector-copy! (-> gp-0 trans) (-> self root trans)) - (if (logtest? (-> *part-group-id-table* 431 flags) (sp-group-flag sp13)) + (if (logtest? (-> group-terraformer-drone-impact flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 431) + :group group-terraformer-drone-impact :duration (seconds 1) :mat-joint gp-0 ) (part-tracker-spawn part-tracker :to *entity-pool* - :group (-> *part-group-id-table* 431) + :group group-terraformer-drone-impact :duration (seconds 1) :mat-joint gp-0 ) @@ -1192,7 +1192,7 @@ 0 (set-gravity-length (-> this root dynam) 573440.0) (logior! (-> this nav flags) (nav-control-flag momentum-ignore-heading)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 430) this)) + (set! (-> this part) (create-launch-control group-terraformer-drone-dust-up this)) pp (set! (-> this trail-part) (the-as diff --git a/goal_src/jak3/levels/desert/boss/terraformer-head.gc b/goal_src/jak3/levels/desert/boss/terraformer-head.gc index e702f12377..9a0c9064ab 100644 --- a/goal_src/jak3/levels/desert/boss/terraformer-head.gc +++ b/goal_src/jak3/levels/desert/boss/terraformer-head.gc @@ -435,11 +435,11 @@ (let* ((t9-2 vector-normalize-copy!) (a0-3 (new 'stack-no-clear 'vector)) (v1-3 (abs (-> s4-0 nose))) - (s3-0 (t9-2 a0-3 (the-as vector (&-> (-> arg0 bone) transform quad v1-3)) 1.0)) + (s3-0 (t9-2 a0-3 (the-as vector (&-> arg0 bone transform quad v1-3)) 1.0)) (t9-3 vector-normalize-copy!) (a0-4 (new 'stack-no-clear 'vector)) (v1-6 (abs (-> s4-0 up))) - (s1-0 (t9-3 a0-4 (the-as vector (&-> (-> arg0 bone) transform quad v1-6)) 1.0)) + (s1-0 (t9-3 a0-4 (the-as vector (&-> arg0 bone transform quad v1-6)) 1.0)) (s2-1 (vector-! (new 'stack-no-clear 'vector) (-> s4-0 target) (-> arg0 bone transform trans))) (s5-1 (new 'stack-no-clear 'matrix)) ) @@ -2205,13 +2205,13 @@ (terraformer-head-play-speech 3 self) (let ((gp-0 (get-trans self 3))) (cond - ((logtest? (-> *part-group-id-table* 217 flags) (sp-group-flag sp13)) + ((logtest? (-> group-kg-huge-explosion flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) gp-0) - (part-tracker-spawn part-tracker-subsampler :to self :group (-> *part-group-id-table* 217)) + (part-tracker-spawn part-tracker-subsampler :to self :group group-kg-huge-explosion) ) (else (vector-copy! (-> *launch-matrix* trans) gp-0) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 217)) + (part-tracker-spawn part-tracker :to self :group group-kg-huge-explosion) ) ) (sound-play "hit-boss-head" :position gp-0) diff --git a/goal_src/jak3/levels/desert/boss/terraformer-setup.gc b/goal_src/jak3/levels/desert/boss/terraformer-setup.gc index 480cb7a007..264cb304d8 100644 --- a/goal_src/jak3/levels/desert/boss/terraformer-setup.gc +++ b/goal_src/jak3/levels/desert/boss/terraformer-setup.gc @@ -170,9 +170,9 @@ ) (vector+! (-> s3-0 trans) (-> s1-0 collision-pt) s4-0) (let ((v1-23 - (if (logtest? (-> *part-group-id-table* 435 flags) (sp-group-flag sp13)) - (part-tracker-spawn part-tracker-subsampler :to arg0 :group (-> *part-group-id-table* 435) :mat-joint s3-0) - (part-tracker-spawn part-tracker :to arg0 :group (-> *part-group-id-table* 435) :mat-joint s3-0) + (if (logtest? (-> group-terraformer-foot-mark flags) (sp-group-flag sp13)) + (part-tracker-spawn part-tracker-subsampler :to arg0 :group group-terraformer-foot-mark :mat-joint s3-0) + (part-tracker-spawn part-tracker :to arg0 :group group-terraformer-foot-mark :mat-joint s3-0) ) ) ) @@ -633,7 +633,7 @@ (quaternion-identity! (-> gp-0 spawn-quat)) (set! (-> gp-0 radius) 24576.0) (set! (-> gp-0 scale) 1.0) - (set! (-> gp-0 group) (-> *part-group-id-table* 218)) + (set! (-> gp-0 group) group-kg-big-explosion) (set! (-> gp-0 collide-with) (collide-spec)) (set! (-> gp-0 damage) 2.0) (set! (-> gp-0 damage-scale) 1.0) @@ -745,18 +745,18 @@ (let ((gp-1 (new 'stack-no-clear 'matrix))) (matrix-identity! gp-1) (vector-copy! (-> gp-1 trans) (-> self root trans)) - (if (logtest? (-> *part-group-id-table* 432 flags) (sp-group-flag sp13)) + (if (logtest? (-> group-terraformer-mine-dust flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 432) + :group group-terraformer-mine-dust :duration (seconds 1) :mat-joint gp-1 ) (part-tracker-spawn part-tracker :to *entity-pool* - :group (-> *part-group-id-table* 432) + :group group-terraformer-mine-dust :duration (seconds 1) :mat-joint gp-1 ) @@ -893,7 +893,7 @@ (quaternion-identity! (-> gp-0 spawn-quat)) (set! (-> gp-0 radius) 8192.0) (set! (-> gp-0 scale) 1.0) - (set! (-> gp-0 group) (-> *part-group-id-table* 218)) + (set! (-> gp-0 group) group-kg-big-explosion) (set! (-> gp-0 collide-with) (collide-spec)) (set! (-> gp-0 damage) 2.0) (set! (-> gp-0 damage-scale) 1.0) @@ -1111,8 +1111,8 @@ (set! (-> self mm-handle) (ppointer->handle (process-spawn terraformer-leg-minimap-dot :name "terraformer-leg-minimap-dot" :to self)) ) - (set! (-> self sand-drop-part) (create-launch-control (-> *part-group-id-table* 436) self)) - (set! (-> self water-drop-part) (create-launch-control (-> *part-group-id-table* 439) self)) + (set! (-> self sand-drop-part) (create-launch-control group-terraformer-foot-sand-drop self)) + (set! (-> self water-drop-part) (create-launch-control group-terraformer-foot-water-drop self)) ((method-of-type cam-float-seeker init) (-> self foot-lock lock) 0.0 0.005 0.04 0.9) (set! (-> self foot-lock initialized) #f) (set! (-> self foot-marks) (new 'process 'terraformer-foot-mark-pt-array)) @@ -1275,18 +1275,18 @@ (matrix-identity! s5-2) (vector-copy! (-> s5-2 trans) gp-1) (set! (-> s5-2 trans y) 37273.6) - (if (logtest? (-> *part-group-id-table* 437 flags) (sp-group-flag sp13)) + (if (logtest? (-> group-terraformer-foot-splash flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 437) + :group group-terraformer-foot-splash :duration (seconds 1) :mat-joint s5-2 ) (part-tracker-spawn part-tracker :to *entity-pool* - :group (-> *part-group-id-table* 437) + :group group-terraformer-foot-splash :duration (seconds 1) :mat-joint s5-2 ) @@ -1296,18 +1296,18 @@ ) (else (set! (-> self stepped-in-water) #f) - (if (logtest? (-> *part-group-id-table* 433 flags) (sp-group-flag sp13)) + (if (logtest? (-> group-terraformer-stomp-foot flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 433) + :group group-terraformer-stomp-foot :duration (seconds 1) :mat-joint s4-1 ) (part-tracker-spawn part-tracker :to *entity-pool* - :group (-> *part-group-id-table* 433) + :group group-terraformer-stomp-foot :duration (seconds 1) :mat-joint s4-1 ) @@ -1539,28 +1539,28 @@ (cond ((-> self stepped-in-water) (set! (-> s5-3 trans y) 37273.6) - (if (logtest? (-> *part-group-id-table* 438 flags) (sp-group-flag sp13)) + (if (logtest? (-> group-terraformer-lift-foot-from-water flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 438) + :group group-terraformer-lift-foot-from-water :duration (seconds 1) :mat-joint s5-3 ) (part-tracker-spawn part-tracker :to *entity-pool* - :group (-> *part-group-id-table* 438) + :group group-terraformer-lift-foot-from-water :duration (seconds 1) :mat-joint s5-3 ) ) ) - ((begin (+! (-> s5-3 trans y) 4096.0) (logtest? (-> *part-group-id-table* 434 flags) (sp-group-flag sp13))) + ((begin (+! (-> s5-3 trans y) 4096.0) (logtest? (-> group-terraformer-lift-foot flags) (sp-group-flag sp13))) (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 434) + :group group-terraformer-lift-foot :duration (seconds 1) :mat-joint s5-3 ) @@ -1569,7 +1569,7 @@ (part-tracker-spawn part-tracker :to *entity-pool* - :group (-> *part-group-id-table* 434) + :group group-terraformer-lift-foot :duration (seconds 1) :mat-joint s5-3 ) diff --git a/goal_src/jak3/levels/desert/chase/desert-chase.gc b/goal_src/jak3/levels/desert/chase/desert-chase.gc index ba5f2764e8..ee637601b7 100644 --- a/goal_src/jak3/levels/desert/chase/desert-chase.gc +++ b/goal_src/jak3/levels/desert/chase/desert-chase.gc @@ -154,18 +154,13 @@ (set! (-> this ptracker-proc) (process->handle (-> (cond - ((logtest? (-> *part-group-id-table* 454 flags) (sp-group-flag sp13)) + ((logtest? (-> group-catapult-embers-fire flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> this root trans)) - (part-tracker-spawn - part-tracker-subsampler - :to this - :group (-> *part-group-id-table* 454) - :duration (seconds 3) - ) + (part-tracker-spawn part-tracker-subsampler :to this :group group-catapult-embers-fire :duration (seconds 3)) ) (else (vector-copy! (-> *launch-matrix* trans) (-> this root trans)) - (part-tracker-spawn part-tracker :to this :group (-> *part-group-id-table* 454) :duration (seconds 3)) + (part-tracker-spawn part-tracker :to this :group group-catapult-embers-fire :duration (seconds 3)) ) ) 0 @@ -193,7 +188,7 @@ (let ((f0-5 1092.2667)) (quaternion-axis-angle! (-> this tumble-quat) 1.0 0.0 0.0 f0-5) ) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 454) this)) + (set! (-> this part) (create-launch-control group-catapult-embers-fire this)) (set! (-> this ptracker-proc) (the-as handle #f)) (none) ) @@ -291,13 +286,13 @@ (('die) (activate! *camera-smush-control* 2048.0 30 150 1.0 0.8 (-> *display* camera-clock)) (cond - ((logtest? (-> *part-group-id-table* 456 flags) (sp-group-flag sp13)) + ((logtest? (-> group-catapult-target-scorched-earth flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 456)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-catapult-target-scorched-earth) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 456)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-catapult-target-scorched-earth) ) ) (let ((gp-2 (quaternion-copy! (new 'stack-no-clear 'quaternion) (-> self root quat))) @@ -366,7 +361,7 @@ (defbehavior catapult-target-init-by-other catapult-target ((arg0 vector)) (set! (-> self root) (new 'process 'trsqv)) (vector-copy! (-> self root trans) arg0) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 455) self)) + (set! (-> self part) (create-launch-control group-catapult-target-glow self)) (go-virtual idle) ) diff --git a/goal_src/jak3/levels/desert/chase/desert-jump.gc b/goal_src/jak3/levels/desert/chase/desert-jump.gc index 7f9366aa04..ae3c0f9a6d 100644 --- a/goal_src/jak3/levels/desert/chase/desert-jump.gc +++ b/goal_src/jak3/levels/desert/chase/desert-jump.gc @@ -1136,11 +1136,11 @@ (set! (-> (the-as wvehicle s2-1) minimap) (add-icon! *minimap* s2-1 (the-as uint 128) (the-as int #f) (the-as vector #t) 0) ) - (if (logtest? (-> *part-group-id-table* 453 flags) (sp-group-flag sp13)) + (if (logtest? (-> group-kamikaze-interceptor-fire flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to s2-1 - :group (-> *part-group-id-table* 453) + :group group-kamikaze-interceptor-fire :duration -1 :callback (the-as (function part-tracker vector) part-tracker-check-parent) :target s2-1 @@ -1149,7 +1149,7 @@ (part-tracker-spawn part-tracker :to s2-1 - :group (-> *part-group-id-table* 453) + :group group-kamikaze-interceptor-fire :duration -1 :callback (the-as (function part-tracker vector) part-tracker-check-parent) :target s2-1 diff --git a/goal_src/jak3/levels/desert/chase/wcar-catapult.gc b/goal_src/jak3/levels/desert/chase/wcar-catapult.gc index ce305a7851..e205178f06 100644 --- a/goal_src/jak3/levels/desert/chase/wcar-catapult.gc +++ b/goal_src/jak3/levels/desert/chase/wcar-catapult.gc @@ -1386,13 +1386,13 @@ (defmethod projectile-method-26 ((this v-catapult-shot)) (cond - ((logtest? (-> *part-group-id-table* 452 flags) (sp-group-flag sp13)) + ((logtest? (-> group-v-catapult-shot-explosion flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> this root trans)) - (part-tracker-spawn part-tracker-subsampler :to this :group (-> *part-group-id-table* 452)) + (part-tracker-spawn part-tracker-subsampler :to this :group group-v-catapult-shot-explosion) ) (else (vector-copy! (-> *launch-matrix* trans) (-> this root trans)) - (part-tracker-spawn part-tracker :to this :group (-> *part-group-id-table* 452)) + (part-tracker-spawn part-tracker :to this :group group-v-catapult-shot-explosion) ) ) 0 @@ -1450,7 +1450,7 @@ (let ((f0-5 1092.2667)) (quaternion-axis-angle! (-> this tumble-quat) 1.0 0.0 0.0 f0-5) ) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 450) this)) + (set! (-> this part) (create-launch-control group-v-catapult-shot this)) pp (set! (-> this trail-part) (the-as @@ -1560,18 +1560,18 @@ ) (vector+! v1-79 (-> s5-2 transform trans) v1-79) (cond - ((logtest? (-> *part-group-id-table* 448 flags) (sp-group-flag sp13)) + ((logtest? (-> group-v-catapult-shot-chargeup flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) v1-79) (part-tracker-spawn part-tracker-subsampler :to this - :group (-> *part-group-id-table* 448) + :group group-v-catapult-shot-chargeup :duration (seconds 4) ) ) (else (vector-copy! (-> *launch-matrix* trans) v1-79) - (part-tracker-spawn part-tracker :to this :group (-> *part-group-id-table* 448) :duration (seconds 4)) + (part-tracker-spawn part-tracker :to this :group group-v-catapult-shot-chargeup :duration (seconds 4)) ) ) ) @@ -1801,13 +1801,13 @@ ) ) (cond - ((logtest? (-> *part-group-id-table* 452 flags) (sp-group-flag sp13)) + ((logtest? (-> group-v-catapult-shot-explosion flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) s5-0) - (part-tracker-spawn part-tracker-subsampler :to this :group (-> *part-group-id-table* 452)) + (part-tracker-spawn part-tracker-subsampler :to this :group group-v-catapult-shot-explosion) ) (else (vector-copy! (-> *launch-matrix* trans) s5-0) - (part-tracker-spawn part-tracker :to this :group (-> *part-group-id-table* 452)) + (part-tracker-spawn part-tracker :to this :group group-v-catapult-shot-explosion) ) ) (if (and *target* (nonzero? (-> *target* pilot))) @@ -2124,7 +2124,7 @@ (set! (-> this eng-pitch-offset) (rand-vu-float-range -0.5 0.5)) (set! (-> this launch-projectile?) #f) (set! (-> this notify-handle) (the-as handle #f)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 449) this)) + (set! (-> this part) (create-launch-control group-v-catapult-shot-idle this)) (set! (-> this spawn-part?) #t) (set! (-> this exploding?) #f) 0 diff --git a/goal_src/jak3/levels/desert/des-burning-bush.gc b/goal_src/jak3/levels/desert/des-burning-bush.gc index d1abf3544f..5b1148080c 100644 --- a/goal_src/jak3/levels/desert/des-burning-bush.gc +++ b/goal_src/jak3/levels/desert/des-burning-bush.gc @@ -950,8 +950,8 @@ ) (set! (-> this angle) 0.0) (set! (-> this root pause-adjust-distance) 819200.0) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 380) this)) - (set! (-> this part-off) (create-launch-control (-> *part-group-id-table* 379) this)) + (set! (-> this part) (create-launch-control group-desert-totem-eye-glow-pre this)) + (set! (-> this part-off) (create-launch-control group-desert-totem-eye-glow this)) (transform-post) (go (method-of-object this idle)) ) @@ -1358,8 +1358,8 @@ ) (set! (-> this angle) 0.0) (set! (-> this root pause-adjust-distance) 819200.0) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 381) this)) - (set! (-> this part-off) (create-launch-control (-> *part-group-id-table* 382) this)) + (set! (-> this part) (create-launch-control group-wascity-burning-bush-holo-on this)) + (set! (-> this part-off) (create-launch-control group-wascity-burning-bush-holo-off this)) (transform-post) (go (method-of-object this idle)) ) diff --git a/goal_src/jak3/levels/desert/des-bush.gc b/goal_src/jak3/levels/desert/des-bush.gc index 17ee0b554d..a314d721e1 100644 --- a/goal_src/jak3/levels/desert/des-bush.gc +++ b/goal_src/jak3/levels/desert/des-bush.gc @@ -994,26 +994,21 @@ :enter (behavior () (cond ((-> self is-final?) - (if (logtest? (-> *part-group-id-table* 1552 flags) (sp-group-flag sp13)) + (if (logtest? (-> group-desert-ring-birth-final flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to self - :group (-> *part-group-id-table* 1552) + :group group-desert-ring-birth-final :mat-joint (-> self mat) ) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 1552) :mat-joint (-> self mat)) + (part-tracker-spawn part-tracker :to self :group group-desert-ring-birth-final :mat-joint (-> self mat)) ) ) - ((logtest? (-> *part-group-id-table* 1551 flags) (sp-group-flag sp13)) - (part-tracker-spawn - part-tracker-subsampler - :to self - :group (-> *part-group-id-table* 1551) - :mat-joint (-> self mat) - ) + ((logtest? (-> group-desert-ring-birth flags) (sp-group-flag sp13)) + (part-tracker-spawn part-tracker-subsampler :to self :group group-desert-ring-birth :mat-joint (-> self mat)) ) (else - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 1551) :mat-joint (-> self mat)) + (part-tracker-spawn part-tracker :to self :group group-desert-ring-birth :mat-joint (-> self mat)) ) ) (sound-play "ring-create") @@ -1053,26 +1048,26 @@ ) (cond ((-> self is-final?) - (if (logtest? (-> *part-group-id-table* 1550 flags) (sp-group-flag sp13)) + (if (logtest? (-> group-desert-ring-explode-final flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to self - :group (-> *part-group-id-table* 1550) + :group group-desert-ring-explode-final :mat-joint (-> self mat) ) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 1550) :mat-joint (-> self mat)) + (part-tracker-spawn part-tracker :to self :group group-desert-ring-explode-final :mat-joint (-> self mat)) ) ) - ((logtest? (-> *part-group-id-table* 1549 flags) (sp-group-flag sp13)) + ((logtest? (-> group-desert-ring-explode flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to self - :group (-> *part-group-id-table* 1549) + :group group-desert-ring-explode :mat-joint (-> self mat) ) ) (else - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 1549) :mat-joint (-> self mat)) + (part-tracker-spawn part-tracker :to self :group group-desert-ring-explode :mat-joint (-> self mat)) ) ) (go-virtual die) @@ -1147,8 +1142,8 @@ (set! (-> this ring-radius) (res-lump-float arg0 'ring-radius :default 24576.0)) (quaternion->matrix (-> this mat) (-> this root quat)) (vector-copy! (-> this mat trans) (-> this root trans)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 1547) this)) - (set! (-> this part-final) (create-launch-control (-> *part-group-id-table* 1548) this)) + (set! (-> this part) (create-launch-control group-desert-ring this)) + (set! (-> this part-final) (create-launch-control group-desert-ring-final this)) (logclear! (-> this mask) (process-mask actor-pause)) (set! (-> this alt-actor) (entity-actor-lookup (-> this entity) 'alt-actor 0)) (set! (-> this is-final?) #f) @@ -1175,13 +1170,13 @@ :virtual #t :enter (behavior () (cond - ((logtest? (-> *part-group-id-table* 1546 flags) (sp-group-flag sp13)) + ((logtest? (-> group-spirit-explode flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to self :group (-> *part-group-id-table* 1546)) + (part-tracker-spawn part-tracker-subsampler :to self :group group-spirit-explode) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 1546)) + (part-tracker-spawn part-tracker :to self :group group-spirit-explode) ) ) ) @@ -1281,12 +1276,12 @@ (vector-copy! (-> self root trans) arg0) (set! (-> self sound-id) (new-sound-id)) (set! (-> self sound-id-2) (new-sound-id)) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 1541) self)) + (set! (-> self part) (create-launch-control group-bb-ring-finder self)) self (set! (-> self part-subsampler) (new 'process 'sparticle-subsampler *sp-particle-system-2d* (-> *part-id-table* 5117) 3.0) ) - (set! (-> self goal-part) (create-launch-control (-> *part-group-id-table* 1540) self)) + (set! (-> self goal-part) (create-launch-control group-spirit-goal self)) (set! (-> self draw-start-goal?) #t) (go-virtual dormant) ) @@ -2046,16 +2041,16 @@ (logclear! (-> self mask) (process-mask actor-pause)) (cond ((= (-> arg0 etype) bb-score-a-pickup) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 1545) self)) + (set! (-> self part) (create-launch-control group-score-drop-a self)) (set! (-> self bb-score-type) (bb-score-type small)) 0 ) ((= (-> arg0 etype) bb-score-b-pickup) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 1544) self)) + (set! (-> self part) (create-launch-control group-score-drop-b self)) (set! (-> self bb-score-type) (bb-score-type medium)) ) (else - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 1543) self)) + (set! (-> self part) (create-launch-control group-score-drop-c self)) (set! (-> self bb-score-type) (bb-score-type large)) ) ) diff --git a/goal_src/jak3/levels/desert/des-cactus.gc b/goal_src/jak3/levels/desert/des-cactus.gc index 95c8f564cf..d644f30c9d 100644 --- a/goal_src/jak3/levels/desert/des-cactus.gc +++ b/goal_src/jak3/levels/desert/des-cactus.gc @@ -308,18 +308,18 @@ (when gp-2 (let ((s5-2 (-> self exploder-params))) (dotimes (s4-1 (-> s5-2 joints length)) - (if (logtest? (-> *part-group-id-table* 1231 flags) (sp-group-flag sp13)) + (if (logtest? (-> group-des-big-cactus-explode flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to gp-2 - :group (-> *part-group-id-table* 1231) + :group group-des-big-cactus-explode :target (the-as process-drawable gp-2) :mat-joint (-> s5-2 joints s4-1 joint-index) ) (part-tracker-spawn part-tracker :to gp-2 - :group (-> *part-group-id-table* 1231) + :group group-des-big-cactus-explode :target (the-as process-drawable gp-2) :mat-joint (-> s5-2 joints s4-1 joint-index) ) diff --git a/goal_src/jak3/levels/desert/desertg-obs.gc b/goal_src/jak3/levels/desert/desertg-obs.gc index 765805b185..413bf41bbf 100644 --- a/goal_src/jak3/levels/desert/desertg-obs.gc +++ b/goal_src/jak3/levels/desert/desertg-obs.gc @@ -275,13 +275,13 @@ ) ) (cond - ((logtest? (-> *part-group-id-table* 1232 flags) (sp-group-flag sp13)) + ((logtest? (-> group-des-cactus-explode flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) gp-1) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 1232)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-des-cactus-explode) ) (else (vector-copy! (-> *launch-matrix* trans) gp-1) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 1232)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-des-cactus-explode) ) ) ) diff --git a/goal_src/jak3/levels/desert/hover/des-beast-2.gc b/goal_src/jak3/levels/desert/hover/des-beast-2.gc index d8913399a3..d3fdf56db4 100644 --- a/goal_src/jak3/levels/desert/hover/des-beast-2.gc +++ b/goal_src/jak3/levels/desert/hover/des-beast-2.gc @@ -256,8 +256,8 @@ (set! (-> gp-0 radius) (-> self blast-radius)) (set! (-> gp-0 scale) 1.0) (set! (-> gp-0 group) (if (-> self blast-damage) - (-> *part-group-id-table* 411) - (-> *part-group-id-table* 412) + group-grenade-shot-explode + group-grenade-shot-explode-in-air ) ) (set! (-> gp-0 collide-with) @@ -416,7 +416,7 @@ (none) ) ) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 413) this)) + (set! (-> this part) (create-launch-control group-beast-grenade-glow this)) (set! (-> this blast-radius) 163840.0) (set! (-> this max-speed) 122880.0) (set! (-> this timeout) (seconds 6)) diff --git a/goal_src/jak3/levels/desert/hover/des-beast.gc b/goal_src/jak3/levels/desert/hover/des-beast.gc index 4f8f43331a..514a45258c 100644 --- a/goal_src/jak3/levels/desert/hover/des-beast.gc +++ b/goal_src/jak3/levels/desert/hover/des-beast.gc @@ -933,7 +933,7 @@ (let ((t9-2 (method-of-type projectile-bounce init-proj-settings!))) (t9-2 this) ) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 413) this)) + (set! (-> this part) (create-launch-control group-beast-grenade-glow this)) (set! (-> this blast-radius) 40960.0) (set! (-> this max-speed) 90112.0) (set! (-> this timeout) (seconds 4)) @@ -1034,7 +1034,7 @@ (quaternion-identity! (-> gp-0 spawn-quat)) (set! (-> gp-0 radius) (-> self blast-radius)) (set! (-> gp-0 scale) 1.0) - (set! (-> gp-0 group) (-> *part-group-id-table* 411)) + (set! (-> gp-0 group) group-grenade-shot-explode) (set! (-> gp-0 collide-with) (collide-spec backgnd jak crate civilian enemy obstacle vehicle-sphere hit-by-others-list player-list pusher) ) @@ -2473,7 +2473,7 @@ (set! (-> this manager) (the-as handle #f)) (init-enemy! this) (vector-copy! (-> this root trans) (-> this des-path node 0 position)) - (set! (-> this hit-part) (create-launch-control (-> *part-group-id-table* 414) this)) + (set! (-> this hit-part) (create-launch-control group-beast-hit this)) (des-beast-method-166 this) (go-fallback-init this) ) @@ -2486,7 +2486,7 @@ (vector-copy! (-> self root trans) (-> arg2 node 0 position)) (quaternion-copy! (-> self root quat) arg3) (set! (-> self des-path) arg2) - (set! (-> self hit-part) (create-launch-control (-> *part-group-id-table* 414) self)) + (set! (-> self hit-part) (create-launch-control group-beast-hit self)) (init-enemy! self) (des-beast-method-166 self) (go-fallback-init self) diff --git a/goal_src/jak3/levels/desert/hover/mh-flyer.gc b/goal_src/jak3/levels/desert/hover/mh-flyer.gc index 2854337783..0cbabae8a7 100644 --- a/goal_src/jak3/levels/desert/hover/mh-flyer.gc +++ b/goal_src/jak3/levels/desert/hover/mh-flyer.gc @@ -176,7 +176,7 @@ (quaternion-identity! (-> gp-0 spawn-quat)) (set! (-> gp-0 radius) 40960.0) (set! (-> gp-0 scale) 1.0) - (set! (-> gp-0 group) (-> *part-group-id-table* 411)) + (set! (-> gp-0 group) group-grenade-shot-explode) (set! (-> gp-0 collide-with) (collide-spec backgnd jak crate civilian enemy obstacle vehicle-sphere hit-by-others-list player-list pusher) ) @@ -248,23 +248,23 @@ (cond ((-> this hit-actor?) (cond - ((logtest? (-> *part-group-id-table* 102 flags) (sp-group-flag sp13)) + ((logtest? (-> group-gun-yellow-shot-hit-object flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> this root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 102)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-gun-yellow-shot-hit-object) ) (else (vector-copy! (-> *launch-matrix* trans) (-> this root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 102)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-gun-yellow-shot-hit-object) ) ) ) - ((logtest? (-> *part-group-id-table* 101 flags) (sp-group-flag sp13)) + ((logtest? (-> group-gun-yellow-shot-hit flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> this root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 101)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-gun-yellow-shot-hit) ) (else (vector-copy! (-> *launch-matrix* trans) (-> this root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 101)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-gun-yellow-shot-hit) ) ) ) diff --git a/goal_src/jak3/levels/desert/hover/scorpion-gun.gc b/goal_src/jak3/levels/desert/hover/scorpion-gun.gc index 3161e2143b..d1f135cd12 100644 --- a/goal_src/jak3/levels/desert/hover/scorpion-gun.gc +++ b/goal_src/jak3/levels/desert/hover/scorpion-gun.gc @@ -734,13 +734,13 @@ ) ) (cond - ((logtest? (-> *part-group-id-table* 228 flags) (sp-group-flag sp13)) + ((logtest? (-> group-gun-scorp-shot-hit flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> this root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 228)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-gun-scorp-shot-hit) ) (else (vector-copy! (-> *launch-matrix* trans) (-> this root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 228)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-gun-scorp-shot-hit) ) ) 0 @@ -1271,21 +1271,15 @@ (let ((s5-1 (new 'stack-no-clear 'matrix))) (matrix-copy! s5-1 (-> gp-0 bone transform)) (matrix->trans (-> gp-0 bone transform) (-> s5-1 trans)) - (if (logtest? (-> *part-group-id-table* 227 flags) (sp-group-flag sp13)) + (if (logtest? (-> group-gun-scorp-shells flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 227) - :duration 1 - :mat-joint s5-1 - ) - (part-tracker-spawn - part-tracker - :to *entity-pool* - :group (-> *part-group-id-table* 227) + :group group-gun-scorp-shells :duration 1 :mat-joint s5-1 ) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-gun-scorp-shells :duration 1 :mat-joint s5-1) ) ) ) diff --git a/goal_src/jak3/levels/desert/race/course-race.gc b/goal_src/jak3/levels/desert/race/course-race.gc index 90b8036f35..968b2e3af1 100644 --- a/goal_src/jak3/levels/desert/race/course-race.gc +++ b/goal_src/jak3/levels/desert/race/course-race.gc @@ -835,7 +835,7 @@ (update-transforms (-> this root)) (let ((v1-15 (res-lump-value arg0 'particle-select uint128 :time -1000000000.0))) (if (= (the-as uint v1-15) 1) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 339) this)) + (set! (-> this part) (create-launch-control group-desert-bollard-fire this)) ) ) (go (method-of-object this idle)) diff --git a/goal_src/jak3/levels/desert/rescue/neo-satellite.gc b/goal_src/jak3/levels/desert/rescue/neo-satellite.gc index dc973adfdf..77551d5e6c 100644 --- a/goal_src/jak3/levels/desert/rescue/neo-satellite.gc +++ b/goal_src/jak3/levels/desert/rescue/neo-satellite.gc @@ -1394,11 +1394,11 @@ ) (set! (-> self ropes length) (-> self ropes allocated-length)) (set! (-> self tentacle) (new 'process 'rope-joint-system)) - (set! (-> self damage-part1) (create-launch-control (-> *part-group-id-table* 423) self)) - (set! (-> self damage-part2) (create-launch-control (-> *part-group-id-table* 424) self)) - (set! (-> self damage-part3) (create-launch-control (-> *part-group-id-table* 425) self)) - (set! (-> self burst-dust-part) (create-launch-control (-> *part-group-id-table* 419) self)) - (set! (-> self antenna-explode-part) (create-launch-control (-> *part-group-id-table* 422) self)) + (set! (-> self damage-part1) (create-launch-control group-neo-sat-damage-light self)) + (set! (-> self damage-part2) (create-launch-control group-neo-sat-damage-medium self)) + (set! (-> self damage-part3) (create-launch-control group-neo-sat-damage-heavy self)) + (set! (-> self burst-dust-part) (create-launch-control group-neo-sat-ground-emerge self)) + (set! (-> self antenna-explode-part) (create-launch-control group-neo-sat-antenna-explode self)) (dotimes (gp-4 (-> *neo-sat-laser-array* length)) (init (-> self spine-joint-mods gp-4) @@ -1534,9 +1534,9 @@ (s5-0 (matrix-f-u-compose (new 'stack-no-clear 'matrix) a1-2 *up-vector*)) ) (vector-copy! (-> s5-0 trans) (-> this root trans)) - (if (logtest? (-> *part-group-id-table* 421 flags) (sp-group-flag sp13)) - (part-tracker-spawn part-tracker-subsampler :to this :group (-> *part-group-id-table* 421) :mat-joint s5-0) - (part-tracker-spawn part-tracker :to this :group (-> *part-group-id-table* 421) :mat-joint s5-0) + (if (logtest? (-> group-neo-sat-debris-fly flags) (sp-group-flag sp13)) + (part-tracker-spawn part-tracker-subsampler :to this :group group-neo-sat-debris-fly :mat-joint s5-0) + (part-tracker-spawn part-tracker :to this :group group-neo-sat-debris-fly :mat-joint s5-0) ) ) (when (>= 0.0 (-> this hit-points)) @@ -2780,13 +2780,13 @@ (cpad-set-buzz! (-> *cpad-list* cpads 0) 1 229 (seconds 0.5)) (send-event (handle->process (-> self warp-handle)) 'turn-off) (cond - ((logtest? (-> *part-group-id-table* 418 flags) (sp-group-flag sp13)) + ((logtest? (-> group-neo-sat-ground-impact flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to self :group (-> *part-group-id-table* 418)) + (part-tracker-spawn part-tracker-subsampler :to self :group group-neo-sat-ground-impact) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 418)) + (part-tracker-spawn part-tracker :to self :group group-neo-sat-ground-impact) ) ) (sound-play "sat-in-ground") @@ -3045,13 +3045,13 @@ (logclear! (-> self enemy-flags) (enemy-flag vulnerable)) (logclear! (-> self focus-status) (focus-status dangerous)) (cond - ((logtest? (-> *part-group-id-table* 420 flags) (sp-group-flag sp13)) + ((logtest? (-> group-neo-sat-ground-dust flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to self :group (-> *part-group-id-table* 420)) + (part-tracker-spawn part-tracker-subsampler :to self :group group-neo-sat-ground-dust) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 420)) + (part-tracker-spawn part-tracker :to self :group group-neo-sat-ground-dust) ) ) (set-time! (-> self state-time)) @@ -3120,13 +3120,13 @@ (set! hand (process->handle (-> (cond - ((logtest? (-> *part-group-id-table* 427 flags) (sp-group-flag sp13)) + ((logtest? (-> group-neo-satellite-buildup flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 427)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-neo-satellite-buildup) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 427)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-neo-satellite-buildup) ) ) 0 @@ -3145,13 +3145,13 @@ (send-event (handle->process hand) 'die) ) (cond - ((logtest? (-> *part-group-id-table* 426 flags) (sp-group-flag sp13)) + ((logtest? (-> group-neo-satellite-explode flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 426)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-neo-satellite-explode) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 426)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-neo-satellite-explode) ) ) (let ((gp-6 (current-time))) @@ -3177,13 +3177,13 @@ (sound-play "sat-out-ground") (send-event (handle->process (-> self warp-handle)) 'turn-on) (cond - ((logtest? (-> *part-group-id-table* 420 flags) (sp-group-flag sp13)) + ((logtest? (-> group-neo-sat-ground-dust flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to self :group (-> *part-group-id-table* 420)) + (part-tracker-spawn part-tracker-subsampler :to self :group group-neo-sat-ground-dust) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 420)) + (part-tracker-spawn part-tracker :to self :group group-neo-sat-ground-dust) ) ) (let ((v1-40 self)) diff --git a/goal_src/jak3/levels/desert/wvehicle/wcar-projectiles.gc b/goal_src/jak3/levels/desert/wvehicle/wcar-projectiles.gc index 23f0fb0509..9aa7a4c129 100644 --- a/goal_src/jak3/levels/desert/wvehicle/wcar-projectiles.gc +++ b/goal_src/jak3/levels/desert/wvehicle/wcar-projectiles.gc @@ -66,13 +66,13 @@ ) ) (cond - ((logtest? (-> *part-group-id-table* 228 flags) (sp-group-flag sp13)) + ((logtest? (-> group-gun-scorp-shot-hit flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> this root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 228)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-gun-scorp-shot-hit) ) (else (vector-copy! (-> *launch-matrix* trans) (-> this root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 228)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-gun-scorp-shot-hit) ) ) ) @@ -299,23 +299,23 @@ (cond ((-> this hit-actor?) (cond - ((logtest? (-> *part-group-id-table* 211 flags) (sp-group-flag sp13)) + ((logtest? (-> group-guard-shot-hit-object flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) v1-1) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 211)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-guard-shot-hit-object) ) (else (vector-copy! (-> *launch-matrix* trans) v1-1) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 211)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-guard-shot-hit-object) ) ) ) - ((logtest? (-> *part-group-id-table* 212 flags) (sp-group-flag sp13)) + ((logtest? (-> group-guard-shot-hit flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) v1-1) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 212)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-guard-shot-hit) ) (else (vector-copy! (-> *launch-matrix* trans) v1-1) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 212)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-guard-shot-hit) ) ) ) @@ -459,7 +459,7 @@ (let ((t9-2 (method-of-type projectile init-proj-settings!))) (t9-2 this) ) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 213) this)) + (set! (-> this part) (create-launch-control group-guard-grenade this)) (set! (-> this blast-radius) 102400.0) (set! (-> this max-speed) 90112.0) (set! (-> this timeout) (seconds 4)) @@ -529,7 +529,7 @@ (quaternion-identity! (-> gp-0 spawn-quat)) (set! (-> gp-0 radius) (-> self blast-radius)) (set! (-> gp-0 scale) 2.0) - (set! (-> gp-0 group) (-> *part-group-id-table* 230)) + (set! (-> gp-0 group) group-toad-grenade-shot-explode) (set! (-> gp-0 collide-with) (collide-spec backgnd jak crate civilian enemy obstacle vehicle-sphere hit-by-others-list player-list pusher) ) diff --git a/goal_src/jak3/levels/desert/wvehicle/wcar-scorpion.gc b/goal_src/jak3/levels/desert/wvehicle/wcar-scorpion.gc index 8d13dcb998..620db151c8 100644 --- a/goal_src/jak3/levels/desert/wvehicle/wcar-scorpion.gc +++ b/goal_src/jak3/levels/desert/wvehicle/wcar-scorpion.gc @@ -166,18 +166,18 @@ (vector-copy! (-> gp-0 mat fvec) (-> gp-0 gun-local-dir)) (vector-cross! (-> gp-0 mat rvec) (-> gp-0 mat uvec) (-> gp-0 mat fvec)) (vector+float*! (-> gp-0 mat trans) (-> gp-0 gun-local-pos) (-> gp-0 gun-local-dir) -12288.0) - (if (logtest? (-> *part-group-id-table* 227 flags) (sp-group-flag sp13)) + (if (logtest? (-> group-gun-scorp-shells flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 227) + :group group-gun-scorp-shells :duration 1 :mat-joint (-> gp-0 mat) ) (part-tracker-spawn part-tracker :to *entity-pool* - :group (-> *part-group-id-table* 227) + :group group-gun-scorp-shells :duration 1 :mat-joint (-> gp-0 mat) ) diff --git a/goal_src/jak3/levels/desert/wvehicle/wvehicle-obs.gc b/goal_src/jak3/levels/desert/wvehicle/wvehicle-obs.gc index b6054eb8ac..50a833f510 100644 --- a/goal_src/jak3/levels/desert/wvehicle/wvehicle-obs.gc +++ b/goal_src/jak3/levels/desert/wvehicle/wvehicle-obs.gc @@ -371,18 +371,18 @@ (set-time! (-> self state-time)) (let ((gp-0 (as-type (handle->process (-> self collector)) process-focusable))) (when gp-0 - (if (logtest? (-> *part-group-id-table* 232 flags) (sp-group-flag sp13)) + (if (logtest? (-> group-turbo-pickup-explode flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 232) + :group group-turbo-pickup-explode :target (the-as process-drawable gp-0) :mat-joint (the-as object 0) ) (part-tracker-spawn part-tracker :to *entity-pool* - :group (-> *part-group-id-table* 232) + :group group-turbo-pickup-explode :target (the-as process-drawable gp-0) :mat-joint (the-as object 0) ) @@ -431,7 +431,7 @@ (set! (-> self available) #t) (set! (-> self persistent) arg1) (set-time! (-> self birth-time)) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 231) self)) + (set! (-> self part) (create-launch-control group-turbo-pickup self)) (set! (-> self collector) (the-as handle #f)) (go-virtual idle) (none) diff --git a/goal_src/jak3/levels/factory/fac-gunturret.gc b/goal_src/jak3/levels/factory/fac-gunturret.gc index d91a356046..c64234eb36 100644 --- a/goal_src/jak3/levels/factory/fac-gunturret.gc +++ b/goal_src/jak3/levels/factory/fac-gunturret.gc @@ -953,9 +953,9 @@ (set! (-> this draw light-index) (the-as uint 10)) (logclear! (-> this mask) (process-mask actor-pause)) (logclear! (-> this enemy-flags) (enemy-flag actor-pause-backup)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 779) this)) - (set! (-> this smoke-part) (create-launch-control (-> *part-group-id-table* 780) this)) - (set! (-> this casing-part) (create-launch-control (-> *part-group-id-table* 781) this)) + (set! (-> this part) (create-launch-control group-fac-gunturret-hit this)) + (set! (-> this smoke-part) (create-launch-control group-fac-gunturret-smoke this)) + (set! (-> this casing-part) (create-launch-control group-fac-gunturret-casing this)) (set! (-> this left-gun-tilt-jm) (new 'process 'joint-mod (joint-mod-mode joint-set*) this (-> this params left-gun-joint)) ) diff --git a/goal_src/jak3/levels/factory/fac-robotank.gc b/goal_src/jak3/levels/factory/fac-robotank.gc index 4e4fbf8e35..4a648820f9 100644 --- a/goal_src/jak3/levels/factory/fac-robotank.gc +++ b/goal_src/jak3/levels/factory/fac-robotank.gc @@ -552,13 +552,13 @@ (defmethod go-explode ((this fac-robotank)) (sound-play "tank-explode") (cond - ((logtest? (-> *part-group-id-table* 732 flags) (sp-group-flag sp13)) + ((logtest? (-> group-fac-tank-explosion flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> this root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 732)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-fac-tank-explosion) ) (else (vector-copy! (-> *launch-matrix* trans) (-> this root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 732)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-fac-tank-explosion) ) ) (let ((s5-3 (new 'stack 'joint-exploder-tuning (the-as uint 0)))) @@ -807,8 +807,8 @@ ) (set-vector! (-> self pov-cam-offset 0) 0.0 13516.8 -13516.8 1.0) (set-vector! (-> self pov-cam-offset 1) 0.0 13516.8 -13516.8 1.0) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 782) self)) - (set! (-> self barrel-part) (create-launch-control (-> *part-group-id-table* 783) self)) + (set! (-> self part) (create-launch-control group-robotank-steamescape self)) + (set! (-> self barrel-part) (create-launch-control group-robotank-barrel-sparks self)) (set! (-> self engine-sound) (new-sound-id)) (set! (-> self engine-sound-playing) #f) (set-time! (-> self snd-cmd-time)) diff --git a/goal_src/jak3/levels/factory/fac-tower.gc b/goal_src/jak3/levels/factory/fac-tower.gc index e3f9607f83..ac29f0a64b 100644 --- a/goal_src/jak3/levels/factory/fac-tower.gc +++ b/goal_src/jak3/levels/factory/fac-tower.gc @@ -384,7 +384,7 @@ (when (not (vector= *fac-tower-impact-pos* (-> s4-0 root trans))) (vector-copy! *fac-tower-impact-pos* (-> s4-0 root trans)) (cond - ((logtest? (-> *part-group-id-table* 776 flags) (sp-group-flag sp13)) + ((logtest? (-> group-gun-warf-shot-hit flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> s4-0 root trans)) (let ((s4-1 (the-as projectile (get-process *default-dead-pool* part-tracker-subsampler #x4000 0)))) (when s4-1 @@ -400,7 +400,7 @@ (a0-13 s4-1) (a1-6 part-tracker-subsampler-init) ) - (set! (-> *part-tracker-subsampler-params-default* group) (-> *part-group-id-table* 776)) + (set! (-> *part-tracker-subsampler-params-default* group) group-gun-warf-shot-hit) (set! (-> *part-tracker-subsampler-params-default* duration) 0) (set! (-> *part-tracker-subsampler-params-default* callback) #f) (set! (-> *part-tracker-subsampler-params-default* userdata) (the-as uint #f)) @@ -415,7 +415,7 @@ ) (else (vector-copy! (-> *launch-matrix* trans) (-> s4-0 root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 776)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-gun-warf-shot-hit) ) ) ) @@ -748,13 +748,13 @@ (activate! *camera-smush-control* 3276.8 60 390 0.9 0.9 (-> self clock)) (start-destroyed-fac-gun-tower (-> self root trans) (-> self root quat) (the-as process *entity-pool*)) (cond - ((logtest? (-> *part-group-id-table* 731 flags) (sp-group-flag sp13)) + ((logtest? (-> group-fac-gun-tower-explosion flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 731)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-fac-gun-tower-explosion) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 731)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-fac-gun-tower-explosion) ) ) (fac-gun-tower-method-36 self) @@ -878,13 +878,13 @@ (when (not (vector= *fac-tower-impact-pos* (-> (the-as projectile proc) root trans))) (vector-copy! *fac-tower-impact-pos* (-> (the-as projectile proc) root trans)) (cond - ((logtest? (-> *part-group-id-table* 776 flags) (sp-group-flag sp13)) + ((logtest? (-> group-gun-warf-shot-hit flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> (the-as projectile proc) root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 776)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-gun-warf-shot-hit) ) (else (vector-copy! (-> *launch-matrix* trans) (-> (the-as projectile proc) root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 776)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-gun-warf-shot-hit) ) ) ) diff --git a/goal_src/jak3/levels/factory/factory-boss-setup.gc b/goal_src/jak3/levels/factory/factory-boss-setup.gc index f942816b3b..118bf1c1c1 100644 --- a/goal_src/jak3/levels/factory/factory-boss-setup.gc +++ b/goal_src/jak3/levels/factory/factory-boss-setup.gc @@ -318,15 +318,15 @@ (defmethod init! ((this factory-boss-reticle-info) (arg0 process)) - (set! (-> this reticle) (create-launch-control (-> *part-group-id-table* 1371) arg0)) - (set! (-> this reticle-corner-0) (create-launch-control (-> *part-group-id-table* 1372) arg0)) - (set! (-> this reticle-corner-1) (create-launch-control (-> *part-group-id-table* 1372) arg0)) - (set! (-> this reticle-corner-2) (create-launch-control (-> *part-group-id-table* 1372) arg0)) - (set! (-> this reticle-corner-3) (create-launch-control (-> *part-group-id-table* 1372) arg0)) - (set! (-> this reticle-dot) (create-launch-control (-> *part-group-id-table* 1373) arg0)) - (set! (-> this reticle-arrow) (create-launch-control (-> *part-group-id-table* 1374) arg0)) - (set! (-> this reticle-super) (create-launch-control (-> *part-group-id-table* 1375) arg0)) - (set! (-> this reticle-super-ring) (create-launch-control (-> *part-group-id-table* 1376) arg0)) + (set! (-> this reticle) (create-launch-control group-factory-boss-bomb-reticle arg0)) + (set! (-> this reticle-corner-0) (create-launch-control group-factory-boss-bomb-corner arg0)) + (set! (-> this reticle-corner-1) (create-launch-control group-factory-boss-bomb-corner arg0)) + (set! (-> this reticle-corner-2) (create-launch-control group-factory-boss-bomb-corner arg0)) + (set! (-> this reticle-corner-3) (create-launch-control group-factory-boss-bomb-corner arg0)) + (set! (-> this reticle-dot) (create-launch-control group-factory-boss-bomb-dot arg0)) + (set! (-> this reticle-arrow) (create-launch-control group-factory-boss-bomb-arrow arg0)) + (set! (-> this reticle-super) (create-launch-control group-factory-boss-superbomb-reticle arg0)) + (set! (-> this reticle-super-ring) (create-launch-control group-factory-boss-superbomb-ring arg0)) (set! (-> this lock-time) 0) 0 (none) @@ -782,7 +782,7 @@ (quaternion-identity! (-> gp-1 spawn-quat)) (set! (-> gp-1 radius) 8192.0) (set! (-> gp-1 scale) 1.0) - (set! (-> gp-1 group) (-> *part-group-id-table* 1360)) + (set! (-> gp-1 group) group-factory-boss-shot-explosion) (set! (-> gp-1 collide-with) (collide-spec backgnd jak crate enemy obstacle vehicle-sphere hit-by-others-list player-list pusher shield) ) @@ -831,7 +831,7 @@ (quaternion-identity! (-> gp-1 spawn-quat)) (set! (-> gp-1 radius) 8192.0) (set! (-> gp-1 scale) 1.0) - (set! (-> gp-1 group) (-> *part-group-id-table* 1360)) + (set! (-> gp-1 group) group-factory-boss-shot-explosion) (set! (-> gp-1 collide-with) (collide-spec backgnd jak crate enemy obstacle vehicle-sphere hit-by-others-list player-list pusher shield) ) @@ -1002,7 +1002,7 @@ (quaternion-identity! (-> gp-1 spawn-quat)) (set! (-> gp-1 radius) 8192.0) (set! (-> gp-1 scale) 1.0) - (set! (-> gp-1 group) (-> *part-group-id-table* 1360)) + (set! (-> gp-1 group) group-factory-boss-shot-explosion) (set! (-> gp-1 collide-with) (collide-spec backgnd jak crate enemy obstacle vehicle-sphere hit-by-others-list player-list pusher shield) ) @@ -1760,10 +1760,14 @@ (dotimes (s4-2 4) (let ((s3-1 (-> this machine-state s4-2))) (set! (-> s3-1 state) 0) - (set! (-> s3-1 damaged-low-smoke-part) (create-launch-control (-> *part-group-id-table* 1362) this)) - (set! (-> s3-1 damaged-high-smoke-part) (create-launch-control (-> *part-group-id-table* 1361) this)) - (set! (-> s3-1 damaged-left-spark-part) (create-launch-control (-> *part-group-id-table* 1378) this)) - (set! (-> s3-1 damaged-right-spark-part) (create-launch-control (-> *part-group-id-table* 1378) this)) + (set! (-> s3-1 damaged-low-smoke-part) + (create-launch-control group-factory-boss-machine-damaged-low-smoke this) + ) + (set! (-> s3-1 damaged-high-smoke-part) + (create-launch-control group-factory-boss-machine-damaged-high-smoke this) + ) + (set! (-> s3-1 damaged-left-spark-part) (create-launch-control group-facboss-sparks this)) + (set! (-> s3-1 damaged-right-spark-part) (create-launch-control group-facboss-sparks this)) (set! (-> s3-1 machine-sound) (new-sound-id)) (set! (-> s3-1 flags) (facboss-machine-state-flag fms1)) (set! (-> s3-1 left-spark-timer) 0) @@ -1772,7 +1776,7 @@ (let ((v1-47 s4-2)) (cond ((zero? v1-47) - (set! (-> s3-1 ring-part) (create-launch-control (-> *part-group-id-table* 1363) this)) + (set! (-> s3-1 ring-part) (create-launch-control group-factory-boss-machine-ring1 this)) (set! (-> s3-1 lightning) (new 'process 'lightning-control @@ -1800,7 +1804,7 @@ ) ) ((= v1-47 1) - (set! (-> s3-1 ring-part) (create-launch-control (-> *part-group-id-table* 1364) this)) + (set! (-> s3-1 ring-part) (create-launch-control group-factory-boss-machine-ring2 this)) (set! (-> s3-1 lightning) (new 'process 'lightning-control @@ -1828,7 +1832,7 @@ ) ) ((= v1-47 2) - (set! (-> s3-1 ring-part) (create-launch-control (-> *part-group-id-table* 1365) this)) + (set! (-> s3-1 ring-part) (create-launch-control group-factory-boss-machine-ring3 this)) (set! (-> s3-1 lightning) (new 'process 'lightning-control @@ -1856,7 +1860,7 @@ ) ) (else - (set! (-> s3-1 ring-part) (create-launch-control (-> *part-group-id-table* 1366) this)) + (set! (-> s3-1 ring-part) (create-launch-control group-factory-boss-machine-ring4 this)) (set! (-> s3-1 lightning) (new 'process 'lightning-control diff --git a/goal_src/jak3/levels/factory/factory-boss-states.gc b/goal_src/jak3/levels/factory/factory-boss-states.gc index 59bac01278..e3cd684d0d 100644 --- a/goal_src/jak3/levels/factory/factory-boss-states.gc +++ b/goal_src/jak3/levels/factory/factory-boss-states.gc @@ -1136,14 +1136,19 @@ ) (factory-boss-get-particle-spawn-points (-> self chosen-machine) a1-8 s5-0 gp-0) (vector-copy! (-> gp-0 trans) s5-0) - (if (logtest? (-> *part-group-id-table* 1367 flags) (sp-group-flag sp13)) + (if (logtest? (-> group-factory-boss-machine-explosion flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 1367) + :group group-factory-boss-machine-explosion + :mat-joint gp-0 + ) + (part-tracker-spawn + part-tracker + :to *entity-pool* + :group group-factory-boss-machine-explosion :mat-joint gp-0 ) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 1367) :mat-joint gp-0) ) ) ) @@ -1424,18 +1429,18 @@ (vector-copy! (-> s4-2 trans) gp-0) (+! (-> s4-2 trans y) 8192.0) (set! (-> s4-2 trans w) 1.0) - (if (logtest? (-> *part-group-id-table* 1377 flags) (sp-group-flag sp13)) + (if (logtest? (-> group-factory-boss-launch-critter flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 1377) + :group group-factory-boss-launch-critter :duration (seconds 1) :mat-joint s4-2 ) (part-tracker-spawn part-tracker :to *entity-pool* - :group (-> *part-group-id-table* 1377) + :group group-factory-boss-launch-critter :duration (seconds 1) :mat-joint s4-2 ) diff --git a/goal_src/jak3/levels/factory/factory-manager.gc b/goal_src/jak3/levels/factory/factory-manager.gc index 45b9aac73c..8b9d6081f4 100644 --- a/goal_src/jak3/levels/factory/factory-manager.gc +++ b/goal_src/jak3/levels/factory/factory-manager.gc @@ -788,13 +788,13 @@ ) 0 (cond - ((logtest? (-> *part-group-id-table* 730 flags) (sp-group-flag sp13)) + ((logtest? (-> group-fac-fighter-explosion flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 730)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-fac-fighter-explosion) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 730)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-fac-fighter-explosion) ) ) (set! (-> self rot-vel) (rand-vu-float-range -910.2222 910.2222)) @@ -850,13 +850,13 @@ (remove-from-process *part-engine* self) (set! (-> self root root-prim local-sphere w) 491520.0) (cond - ((logtest? (-> *part-group-id-table* 730 flags) (sp-group-flag sp13)) + ((logtest? (-> group-fac-fighter-explosion flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 730)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-fac-fighter-explosion) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 730)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-fac-fighter-explosion) ) ) (sound-play "fighter-explode") @@ -1254,13 +1254,13 @@ (set! (-> gp-0 gravity) -122880.0) (set! (-> gp-0 rot-speed) 16.0) (cond - ((logtest? (-> *part-group-id-table* 733 flags) (sp-group-flag sp13)) + ((logtest? (-> group-fac-target-explosion flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 733)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-fac-target-explosion) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 733)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-fac-target-explosion) ) ) (process-spawn diff --git a/goal_src/jak3/levels/factory/factoryc-obs.gc b/goal_src/jak3/levels/factory/factoryc-obs.gc index fd54e9a6df..a23ac151b0 100644 --- a/goal_src/jak3/levels/factory/factoryc-obs.gc +++ b/goal_src/jak3/levels/factory/factoryc-obs.gc @@ -541,7 +541,7 @@ (the-as time-frame (the int (* 300.0 (res-lump-float (-> this entity) 'zapper-phase)))) ) (set! (-> this fire-is-on) #f) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 806) this)) + (set! (-> this part) (create-launch-control group-fact-big-torch this)) (let* ((s4-1 (-> this part)) (s3-1 (method-of-object s4-1 set-local-space-info)) (s2-0 (the-as @@ -853,13 +853,13 @@ (set! (-> gp-0 fountain-rand-transv-hi w) 73728.0) (sound-play "fac-hatch-explo") (cond - ((logtest? (-> *part-group-id-table* 752 flags) (sp-group-flag sp13)) + ((logtest? (-> group-fac-robopod-bust flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 752)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-fac-robopod-bust) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 752)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-fac-robopod-bust) ) ) (process-spawn @@ -879,13 +879,13 @@ (set! (-> self root root-prim prim-core collide-as) (collide-spec)) (set! (-> self root root-prim prim-core action) (collide-action)) (cond - ((logtest? (-> *part-group-id-table* 218 flags) (sp-group-flag sp13)) + ((logtest? (-> group-kg-big-explosion flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 218)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-kg-big-explosion) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 218)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-kg-big-explosion) ) ) (setup-masks (-> self draw) 1 2) diff --git a/goal_src/jak3/levels/factory/factoryc-obs2.gc b/goal_src/jak3/levels/factory/factoryc-obs2.gc index 407bc0f77d..2cee47f5b2 100644 --- a/goal_src/jak3/levels/factory/factoryc-obs2.gc +++ b/goal_src/jak3/levels/factory/factoryc-obs2.gc @@ -103,13 +103,13 @@ ((lambda :behavior fac-break-floor () (cond - ((logtest? (-> *part-group-id-table* 750 flags) (sp-group-flag sp13)) + ((logtest? (-> group-fac-break-floor-bust flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 750)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-fac-break-floor-bust) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 750)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-fac-break-floor-bust) ) ) (let ((gp-2 (new 'stack 'joint-exploder-tuning (the-as uint 1)))) @@ -321,13 +321,13 @@ ) (vector-matrix*! gp-1 a1-9 (-> self node-list data 0 bone transform)) (cond - ((logtest? (-> *part-group-id-table* 751 flags) (sp-group-flag sp13)) + ((logtest? (-> group-fac-break-fence-bust flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) gp-1) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 751)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-fac-break-fence-bust) ) (else (vector-copy! (-> *launch-matrix* trans) gp-1) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 751)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-fac-break-fence-bust) ) ) ) @@ -469,13 +469,13 @@ ) (vector-matrix*! gp-1 a1-9 (-> self node-list data 0 bone transform)) (cond - ((logtest? (-> *part-group-id-table* 751 flags) (sp-group-flag sp13)) + ((logtest? (-> group-fac-break-fence-bust flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) gp-1) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 751)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-fac-break-fence-bust) ) (else (vector-copy! (-> *launch-matrix* trans) gp-1) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 751)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-fac-break-fence-bust) ) ) ) @@ -664,13 +664,13 @@ ) (vector-matrix*! gp-1 a1-9 (-> self node-list data 0 bone transform)) (cond - ((logtest? (-> *part-group-id-table* 751 flags) (sp-group-flag sp13)) + ((logtest? (-> group-fac-break-fence-bust flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) gp-1) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 751)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-fac-break-fence-bust) ) (else (vector-copy! (-> *launch-matrix* trans) gp-1) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 751)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-fac-break-fence-bust) ) ) ) @@ -915,8 +915,8 @@ ) ) (init (-> this lever-jmod) this (the-as uint 4) (joint-mod-base-flags attached)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 753) this)) - (set! (-> this part-green) (create-launch-control (-> *part-group-id-table* 754) this)) + (set! (-> this part) (create-launch-control group-fac-switch-glow-red this)) + (set! (-> this part-green) (create-launch-control group-fac-switch-glow-green this)) (if (is-done? this) (go (method-of-object this done) #t) (go (method-of-object this idle)) @@ -1491,7 +1491,7 @@ ) (set! (-> this motor-noise) (new-sound-id)) (set! (-> this root pause-adjust-distance) 327680.0) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 755) this)) + (set! (-> this part) (create-launch-control group-fac-rotfan-barrier this)) (let* ((v1-29 *game-info*) (a0-27 (+ (-> v1-29 attack-id) 1)) ) diff --git a/goal_src/jak3/levels/factory/ffight-projectile.gc b/goal_src/jak3/levels/factory/ffight-projectile.gc index b8031ec88d..e2b251b182 100644 --- a/goal_src/jak3/levels/factory/ffight-projectile.gc +++ b/goal_src/jak3/levels/factory/ffight-projectile.gc @@ -366,26 +366,21 @@ (vector+! (-> gp-0 trans) (-> this root trans) s3-0) (cond ((-> this hit-actor?) - (if (logtest? (-> *part-group-id-table* 763 flags) (sp-group-flag sp13)) + (if (logtest? (-> group-ffight-shot-hit-object flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 763) + :group group-ffight-shot-hit-object :mat-joint gp-0 ) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 763) :mat-joint gp-0) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-ffight-shot-hit-object :mat-joint gp-0) ) ) - ((logtest? (-> *part-group-id-table* 764 flags) (sp-group-flag sp13)) - (part-tracker-spawn - part-tracker-subsampler - :to *entity-pool* - :group (-> *part-group-id-table* 764) - :mat-joint gp-0 - ) + ((logtest? (-> group-ffight-shot-hit flags) (sp-group-flag sp13)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-ffight-shot-hit :mat-joint gp-0) ) (else - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 764) :mat-joint gp-0) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-ffight-shot-hit :mat-joint gp-0) ) ) ) diff --git a/goal_src/jak3/levels/factory/ftank-projectile.gc b/goal_src/jak3/levels/factory/ftank-projectile.gc index 3e6141ae80..8d2c2cc316 100644 --- a/goal_src/jak3/levels/factory/ftank-projectile.gc +++ b/goal_src/jak3/levels/factory/ftank-projectile.gc @@ -296,26 +296,21 @@ (vector+! (-> gp-0 trans) (-> this root trans) s3-0) (cond ((-> this hit-actor?) - (if (logtest? (-> *part-group-id-table* 767 flags) (sp-group-flag sp13)) + (if (logtest? (-> group-ftank-shot-hit-object flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 767) + :group group-ftank-shot-hit-object :mat-joint gp-0 ) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 767) :mat-joint gp-0) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-ftank-shot-hit-object :mat-joint gp-0) ) ) - ((logtest? (-> *part-group-id-table* 768 flags) (sp-group-flag sp13)) - (part-tracker-spawn - part-tracker-subsampler - :to *entity-pool* - :group (-> *part-group-id-table* 768) - :mat-joint gp-0 - ) + ((logtest? (-> group-ftank-shot-hit flags) (sp-group-flag sp13)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-ftank-shot-hit :mat-joint gp-0) ) (else - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 768) :mat-joint gp-0) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-ftank-shot-hit :mat-joint gp-0) ) ) ) diff --git a/goal_src/jak3/levels/factory/fturret-projectile.gc b/goal_src/jak3/levels/factory/fturret-projectile.gc index 53ae02e060..5326cc8799 100644 --- a/goal_src/jak3/levels/factory/fturret-projectile.gc +++ b/goal_src/jak3/levels/factory/fturret-projectile.gc @@ -404,26 +404,21 @@ (vector+! (-> gp-0 trans) (-> this root trans) s3-0) (cond ((-> this hit-actor?) - (if (logtest? (-> *part-group-id-table* 771 flags) (sp-group-flag sp13)) + (if (logtest? (-> group-fturret-shot-hit-object flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 771) + :group group-fturret-shot-hit-object :mat-joint gp-0 ) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 771) :mat-joint gp-0) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-fturret-shot-hit-object :mat-joint gp-0) ) ) - ((logtest? (-> *part-group-id-table* 772 flags) (sp-group-flag sp13)) - (part-tracker-spawn - part-tracker-subsampler - :to *entity-pool* - :group (-> *part-group-id-table* 772) - :mat-joint gp-0 - ) + ((logtest? (-> group-fturret-shot-hit flags) (sp-group-flag sp13)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-fturret-shot-hit :mat-joint gp-0) ) (else - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 772) :mat-joint gp-0) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-fturret-shot-hit :mat-joint gp-0) ) ) ) diff --git a/goal_src/jak3/levels/factory/missile-bot.gc b/goal_src/jak3/levels/factory/missile-bot.gc index e46388dcdd..96b75c3c70 100644 --- a/goal_src/jak3/levels/factory/missile-bot.gc +++ b/goal_src/jak3/levels/factory/missile-bot.gc @@ -689,13 +689,13 @@ (setup-from-to-duration-and-height! (-> self traj) (-> self root trans) gp-0 f28-0 f30-0) ) (cond - ((logtest? (-> *part-group-id-table* 219 flags) (sp-group-flag sp13)) + ((logtest? (-> group-kg-explosion flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to self :group (-> *part-group-id-table* 219)) + (part-tracker-spawn part-tracker-subsampler :to self :group group-kg-explosion) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 219)) + (part-tracker-spawn part-tracker :to self :group group-kg-explosion) ) ) (when (not (send-event (ppointer->process (-> self parent)) 'in-cutscene?)) @@ -752,13 +752,13 @@ (logior! (-> self draw status) (draw-control-status no-draw)) (set! (-> self root root-prim local-sphere w) 491520.0) (cond - ((logtest? (-> *part-group-id-table* 217 flags) (sp-group-flag sp13)) + ((logtest? (-> group-kg-huge-explosion flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to self :group (-> *part-group-id-table* 217)) + (part-tracker-spawn part-tracker-subsampler :to self :group group-kg-huge-explosion) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 217)) + (part-tracker-spawn part-tracker :to self :group group-kg-huge-explosion) ) ) (when (-> self will-hit-errol) @@ -1209,9 +1209,9 @@ (set-params! (-> this lightning-wobble s5-1) (the-as vector #f) 0.1 0.2 0.7) (set-params! (-> this lightning-wobble-rand s5-1) 3 15 0.1 0.1) ) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 1368) this)) - (set! (-> this thruster-part) (create-launch-control (-> *part-group-id-table* 1370) this)) - (set! (-> this spark-part) (create-launch-control (-> *part-group-id-table* 1369) this)) + (set! (-> this part) (create-launch-control group-missile-bot-fizzle this)) + (set! (-> this thruster-part) (create-launch-control group-missile-bot-thruster this)) + (set! (-> this spark-part) (create-launch-control group-missile-bot-spark this)) (logior! (-> this skel status) (joint-control-status sync-math)) (set! (-> this glows-on) #f) (toggle-glow-sprites this #t) diff --git a/goal_src/jak3/levels/factory/warf-projectile.gc b/goal_src/jak3/levels/factory/warf-projectile.gc index e2ec99f494..a2c1811c0a 100644 --- a/goal_src/jak3/levels/factory/warf-projectile.gc +++ b/goal_src/jak3/levels/factory/warf-projectile.gc @@ -707,7 +707,7 @@ (set! (-> this move) warf-projectile-move) (logior! (-> this options) (projectile-options po13)) (set! (-> this muzzle-flash-part) (the-as sparticle-launch-control (-> *part-id-table* 2896))) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 778) this)) + (set! (-> this part) (create-launch-control group-factory-vehicle-shot this)) (let* ((v1-12 *game-info*) (a0-6 (+ (-> v1-12 attack-id) 1)) ) @@ -1044,26 +1044,26 @@ (vector+! (-> gp-0 trans) (-> this root trans) s3-0) (cond ((-> this hit-actor?) - (if (logtest? (-> *part-group-id-table* 734 flags) (sp-group-flag sp13)) + (if (logtest? (-> group-gun-tower-hit-explosion flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 734) + :group group-gun-tower-hit-explosion :mat-joint gp-0 ) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 734) :mat-joint gp-0) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-gun-tower-hit-explosion :mat-joint gp-0) ) ) - ((logtest? (-> *part-group-id-table* 735 flags) (sp-group-flag sp13)) + ((logtest? (-> group-gun-tower-hit-object flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 735) + :group group-gun-tower-hit-object :mat-joint gp-0 ) ) (else - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 735) :mat-joint gp-0) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-gun-tower-hit-object :mat-joint gp-0) ) ) ) @@ -1170,7 +1170,7 @@ (set! (-> this damage) 1.0) (set! (-> this sound-id) (new-sound-id)) (logior! (-> this options) (projectile-options po13)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 777) this)) + (set! (-> this part) (create-launch-control group-fac-guntower-particle this)) (let* ((v1-10 *game-info*) (a0-6 (+ (-> v1-10 attack-id) 1)) ) @@ -1183,30 +1183,29 @@ (defmethod projectile-method-26 ((this gun-warf-shot)) (when (not (-> this hit-actor?)) - (let ((v1-10 - (cond - ((-> this hit-actor?) - (cond - ((logtest? (-> *part-group-id-table* 776 flags) (sp-group-flag sp13)) - (vector-copy! (-> *launch-matrix* trans) (-> this root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 776)) - ) - (else - (vector-copy! (-> *launch-matrix* trans) (-> this root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 776)) + (let ((v1-10 (cond + ((-> this hit-actor?) + (cond + ((logtest? (-> group-gun-warf-shot-hit flags) (sp-group-flag sp13)) + (vector-copy! (-> *launch-matrix* trans) (-> this root trans)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-gun-warf-shot-hit) + ) + (else + (vector-copy! (-> *launch-matrix* trans) (-> this root trans)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-gun-warf-shot-hit) + ) + ) + ) + ((logtest? (-> group-gun-warf-shot-hit flags) (sp-group-flag sp13)) + (vector-copy! (-> *launch-matrix* trans) (-> this root trans)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-gun-warf-shot-hit) + ) + (else + (vector-copy! (-> *launch-matrix* trans) (-> this root trans)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-gun-warf-shot-hit) + ) ) ) - ) - ((logtest? (-> *part-group-id-table* 776 flags) (sp-group-flag sp13)) - (vector-copy! (-> *launch-matrix* trans) (-> this root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 776)) - ) - (else - (vector-copy! (-> *launch-matrix* trans) (-> this root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 776)) - ) - ) - ) ) (send-event (ppointer->process v1-10) 'clock this) ) diff --git a/goal_src/jak3/levels/forest/eco-green-collider.gc b/goal_src/jak3/levels/forest/eco-green-collider.gc index 313eec490d..2acc0aec5d 100644 --- a/goal_src/jak3/levels/forest/eco-green-collider.gc +++ b/goal_src/jak3/levels/forest/eco-green-collider.gc @@ -65,6 +65,6 @@ (process-entity-set! self arg1) (init-collision! self) (vector-copy! (-> self root trans) arg0) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 125) self)) + (set! (-> self part) (create-launch-control group-eco-green-pill self)) (go-virtual idle) ) diff --git a/goal_src/jak3/levels/forest/for-turret-shot.gc b/goal_src/jak3/levels/forest/for-turret-shot.gc index 025ca7818e..b30ff27251 100644 --- a/goal_src/jak3/levels/forest/for-turret-shot.gc +++ b/goal_src/jak3/levels/forest/for-turret-shot.gc @@ -378,13 +378,13 @@ (vector-copy! v1-2 (-> gp-0 trans)) (vector+! v1-2 v1-2 a0-3) (cond - ((logtest? (-> *part-group-id-table* 239 flags) (sp-group-flag sp13)) + ((logtest? (-> group-for-turret-shot-hit flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) v1-2) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 239)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-for-turret-shot-hit) ) (else (vector-copy! (-> *launch-matrix* trans) v1-2) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 239)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-for-turret-shot-hit) ) ) ) diff --git a/goal_src/jak3/levels/forest/for-turret.gc b/goal_src/jak3/levels/forest/for-turret.gc index bf809d21c2..79b14ecb8c 100644 --- a/goal_src/jak3/levels/forest/for-turret.gc +++ b/goal_src/jak3/levels/forest/for-turret.gc @@ -1048,14 +1048,14 @@ (+! (-> sv-120 y) 819.2) (vector-copy! (-> sv-112 trans) sv-120) (let ((v1-32 - (if (logtest? (-> *part-group-id-table* 241 flags) (sp-group-flag sp13)) + (if (logtest? (-> group-for-turret-scorched-earth flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 241) + :group group-for-turret-scorched-earth :mat-joint sv-112 ) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 241) :mat-joint sv-112) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-for-turret-scorched-earth :mat-joint sv-112) ) ) ) diff --git a/goal_src/jak3/levels/forest/forest-bridges.gc b/goal_src/jak3/levels/forest/forest-bridges.gc index 79fd56e333..e89e3023b0 100644 --- a/goal_src/jak3/levels/forest/forest-bridges.gc +++ b/goal_src/jak3/levels/forest/forest-bridges.gc @@ -139,23 +139,18 @@ (set! (-> gp-1 fountain-rand-transv-hi z) 4096.0) (set! (-> gp-1 fountain-rand-transv-hi w) 102400.0) (cond - ((logtest? (-> *part-group-id-table* 577 flags) (sp-group-flag sp13)) + ((logtest? (-> group-for-bridge-dust flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 577) + :group group-for-bridge-dust :duration (seconds 0.085) ) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn - part-tracker - :to *entity-pool* - :group (-> *part-group-id-table* 577) - :duration (seconds 0.085) - ) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-for-bridge-dust :duration (seconds 0.085)) ) ) (process-spawn diff --git a/goal_src/jak3/levels/forest/forest-part.gc b/goal_src/jak3/levels/forest/forest-part.gc index c1e00518a5..6c8048b169 100644 --- a/goal_src/jak3/levels/forest/forest-part.gc +++ b/goal_src/jak3/levels/forest/forest-part.gc @@ -718,7 +718,7 @@ ) ) (cond - ((logtest? (-> *part-group-id-table* 570 flags) (sp-group-flag sp13)) + ((logtest? (-> group-forest-leaf-water-hit flags) (sp-group-flag sp13)) (let ((v1-18 (-> *launch-matrix* trans)) (a0-9 (new 'stack-no-clear 'vector)) ) @@ -728,7 +728,7 @@ (set! (-> a0-9 w) 1.0) (vector-copy! v1-18 a0-9) ) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 570)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-forest-leaf-water-hit) ) (else (let ((v1-33 (-> *launch-matrix* trans)) @@ -740,7 +740,7 @@ (set! (-> a0-14 w) 1.0) (vector-copy! v1-33 a0-14) ) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 570)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-forest-leaf-water-hit) ) ) (set! (-> arg1 sp-func) (the-as (function sparticle-system sparticle-cpuinfo sprite-vec-data-3d uint none) 0)) @@ -1031,7 +1031,7 @@ (defun spt-func-birth-on-stop ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 sparticle-launchinfo) (arg3 object) (arg4 object)) (when (zero? (-> arg1 timer)) (cond - ((logtest? (-> *part-group-id-table* 573 flags) (sp-group-flag sp13)) + ((logtest? (-> group-mh-plant-flare-pop flags) (sp-group-flag sp13)) (let ((v1-6 (-> *launch-matrix* trans)) (a0-1 (new 'stack-no-clear 'vector)) ) @@ -1041,7 +1041,7 @@ (set! (-> a0-1 w) 1.0) (vector-copy! v1-6 a0-1) ) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 573)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-mh-plant-flare-pop) ) (else (let ((v1-19 (-> *launch-matrix* trans)) @@ -1053,7 +1053,7 @@ (set! (-> a0-6 w) 1.0) (vector-copy! v1-19 a0-6) ) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 573)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-mh-plant-flare-pop) ) ) ) diff --git a/goal_src/jak3/levels/forest/forest-ring-chase.gc b/goal_src/jak3/levels/forest/forest-ring-chase.gc index b19e676c44..a600ac5c7c 100644 --- a/goal_src/jak3/levels/forest/forest-ring-chase.gc +++ b/goal_src/jak3/levels/forest/forest-ring-chase.gc @@ -437,13 +437,13 @@ ) ) (cond - ((logtest? (-> *part-group-id-table* 579 flags) (sp-group-flag sp13)) + ((logtest? (-> group-for-ring-finder-explosion flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> this root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 579)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-for-ring-finder-explosion) ) (else (vector-copy! (-> *launch-matrix* trans) (-> this root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 579)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-for-ring-finder-explosion) ) ) (go (method-of-object this die)) @@ -568,7 +568,7 @@ ) ) ) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 578) self)) + (set! (-> self part) (create-launch-control group-for-ring-finder self)) self (set! (-> self part-subsampler) (new 'process 'sparticle-subsampler *sp-particle-system-2d* (-> *part-id-table* 2254) 3.0) @@ -645,26 +645,21 @@ ) (cond ((-> self is-final?) - (if (logtest? (-> *part-group-id-table* 594 flags) (sp-group-flag sp13)) + (if (logtest? (-> group-forest-ring-birth-final flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to self - :group (-> *part-group-id-table* 594) + :group group-forest-ring-birth-final :mat-joint (-> self mat) ) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 594) :mat-joint (-> self mat)) + (part-tracker-spawn part-tracker :to self :group group-forest-ring-birth-final :mat-joint (-> self mat)) ) ) - ((logtest? (-> *part-group-id-table* 593 flags) (sp-group-flag sp13)) - (part-tracker-spawn - part-tracker-subsampler - :to self - :group (-> *part-group-id-table* 593) - :mat-joint (-> self mat) - ) + ((logtest? (-> group-forest-ring-birth flags) (sp-group-flag sp13)) + (part-tracker-spawn part-tracker-subsampler :to self :group group-forest-ring-birth :mat-joint (-> self mat)) ) (else - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 593) :mat-joint (-> self mat)) + (part-tracker-spawn part-tracker :to self :group group-forest-ring-birth :mat-joint (-> self mat)) ) ) (sound-play "ring-create") @@ -696,14 +691,14 @@ (cond ((-> self is-final?) (sound-play "ring-final") - (if (logtest? (-> *part-group-id-table* 592 flags) (sp-group-flag sp13)) + (if (logtest? (-> group-forest-ring-explode-final flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to self - :group (-> *part-group-id-table* 592) + :group group-forest-ring-explode-final :mat-joint (-> self mat) ) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 592) :mat-joint (-> self mat)) + (part-tracker-spawn part-tracker :to self :group group-forest-ring-explode-final :mat-joint (-> self mat)) ) (if (nonzero? (-> self part-final)) (kill-particles (-> self part-final)) @@ -711,14 +706,14 @@ ) (else (sound-play "ring-pass") - (if (logtest? (-> *part-group-id-table* 591 flags) (sp-group-flag sp13)) + (if (logtest? (-> group-forest-ring-explode flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to self - :group (-> *part-group-id-table* 591) + :group group-forest-ring-explode :mat-joint (-> self mat) ) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 591) :mat-joint (-> self mat)) + (part-tracker-spawn part-tracker :to self :group group-forest-ring-explode :mat-joint (-> self mat)) ) (if (nonzero? (-> self part)) (kill-particles (-> self part)) @@ -795,8 +790,8 @@ (process-drawable-from-entity! this arg0) (quaternion->matrix (-> this mat) (-> this root quat)) (vector-copy! (-> this mat trans) (-> this root trans)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 589) this)) - (set! (-> this part-final) (create-launch-control (-> *part-group-id-table* 590) this)) + (set! (-> this part) (create-launch-control group-forest-ring this)) + (set! (-> this part-final) (create-launch-control group-forest-ring-final this)) (logclear! (-> this mask) (process-mask actor-pause)) (set! (-> this is-final?) #f) (go (method-of-object this dormant)) @@ -1023,18 +1018,13 @@ :virtual #t :code (behavior () (cond - ((logtest? (-> *part-group-id-table* 584 flags) (sp-group-flag sp13)) + ((logtest? (-> group-for-statue-buildup flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self node-list data 3 bone transform trans)) - (part-tracker-spawn - part-tracker-subsampler - :to self - :group (-> *part-group-id-table* 584) - :duration (seconds 1) - ) + (part-tracker-spawn part-tracker-subsampler :to self :group group-for-statue-buildup :duration (seconds 1)) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self node-list data 3 bone transform trans)) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 584) :duration (seconds 1)) + (part-tracker-spawn part-tracker :to self :group group-for-statue-buildup :duration (seconds 1)) ) ) (suspend-for (seconds 1) @@ -1046,23 +1036,18 @@ (sound-stop (-> self sound-id)) ) (cond - ((logtest? (-> *part-group-id-table* 585 flags) (sp-group-flag sp13)) + ((logtest? (-> group-for-statue-explode flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self node-list data 3 bone transform trans)) (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 585) + :group group-for-statue-explode :duration (seconds 1) ) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self node-list data 3 bone transform trans)) - (part-tracker-spawn - part-tracker - :to *entity-pool* - :group (-> *part-group-id-table* 585) - :duration (seconds 1) - ) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-for-statue-explode :duration (seconds 1)) ) ) (when (type? (-> self root) collide-shape) @@ -1188,7 +1173,7 @@ (set! (-> this id) (res-lump-value (-> this entity) 'extra-id int :default (the-as uint128 -1) :time -1000000000.0) ) - (set! (-> this part-eyes) (create-launch-control (-> *part-group-id-table* 588) this)) + (set! (-> this part-eyes) (create-launch-control group-for-statue-eyes this)) (when (or (and (= (-> this id) 1) (task-node-closed? (game-task-node forest-ring-chase-statue-1))) (and (= (-> this id) 2) (task-node-closed? (game-task-node forest-ring-chase-statue-2))) (and (= (-> this id) 3) (task-node-closed? (game-task-node forest-ring-chase-statue-3))) @@ -1199,8 +1184,8 @@ (return #f) ) (if (= (-> this id) 4) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 583) this)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 582) this)) + (set! (-> this part) (create-launch-control group-for-statue-rise-no-rocks this)) + (set! (-> this part) (create-launch-control group-for-statue-rise this)) ) (set! (-> this sound-id) (new-sound-id)) (let ((a1-9 (new 'stack-no-clear 'event-message-block))) diff --git a/goal_src/jak3/levels/forest/foresta-obs.gc b/goal_src/jak3/levels/forest/foresta-obs.gc index 0b95be93f0..9945f8c202 100644 --- a/goal_src/jak3/levels/forest/foresta-obs.gc +++ b/goal_src/jak3/levels/forest/foresta-obs.gc @@ -605,7 +605,7 @@ (+! (-> this root trans y) 30720.0) ) (set! (-> this sound-id) (the-as uint (new-sound-id))) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 586) this)) + (set! (-> this part) (create-launch-control group-for-pillar-splash this)) (set! (-> this ridden?) #f) (if (or (task-node-closed? (game-task-node forest-turn-on-machine-resolution)) (logtest? (-> this entity extra perm status) (entity-perm-status subtask-complete)) @@ -900,7 +900,7 @@ (set! (-> this extend-height) (+ (-> this root trans y) (res-lump-float arg0 'height))) (set! (-> this sound-id) (the-as uint (new-sound-id))) (setup-masks (-> this draw) 1 2) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 587) this)) + (set! (-> this part) (create-launch-control group-for-tower-splash this)) (set! (-> this ridden?) #f) (cond ((and (task-node-closed? (game-task-node forest-kill-plants-armor)) diff --git a/goal_src/jak3/levels/forest/mh-plant.gc b/goal_src/jak3/levels/forest/mh-plant.gc index 7a1500b092..651e3ab8e5 100644 --- a/goal_src/jak3/levels/forest/mh-plant.gc +++ b/goal_src/jak3/levels/forest/mh-plant.gc @@ -132,13 +132,13 @@ (('event-sprout) (sound-play "plant-sprout") (cond - ((logtest? (-> *part-group-id-table* 571 flags) (sp-group-flag sp13)) + ((logtest? (-> group-mh-plant-rebirth flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to self :group (-> *part-group-id-table* 571)) + (part-tracker-spawn part-tracker-subsampler :to self :group group-mh-plant-rebirth) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 571)) + (part-tracker-spawn part-tracker :to self :group group-mh-plant-rebirth) ) ) ) @@ -218,13 +218,13 @@ (('event-pop) (sound-play "plant-pop") (cond - ((logtest? (-> *part-group-id-table* 576 flags) (sp-group-flag sp13)) + ((logtest? (-> group-mh-plant-pop flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to self :group (-> *part-group-id-table* 576)) + (part-tracker-spawn part-tracker-subsampler :to self :group group-mh-plant-pop) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 576)) + (part-tracker-spawn part-tracker :to self :group group-mh-plant-pop) ) ) ) @@ -251,13 +251,13 @@ (cond ((time-elapsed? (-> self sub-state-time) (seconds 4)) (cond - ((logtest? (-> *part-group-id-table* 575 flags) (sp-group-flag sp13)) + ((logtest? (-> group-mh-plant-warning flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to self :group (-> *part-group-id-table* 575)) + (part-tracker-spawn part-tracker-subsampler :to self :group group-mh-plant-warning) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 575)) + (part-tracker-spawn part-tracker :to self :group group-mh-plant-warning) ) ) (sound-play "plant-throb") @@ -307,13 +307,13 @@ :virtual #t :enter (behavior () (cond - ((logtest? (-> *part-group-id-table* 574 flags) (sp-group-flag sp13)) + ((logtest? (-> group-mh-plant-die flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 574)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-mh-plant-die) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 574)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-mh-plant-die) ) ) (sound-play "kill-plants") diff --git a/goal_src/jak3/levels/forest/neo-spawner.gc b/goal_src/jak3/levels/forest/neo-spawner.gc index edb09ed146..1b2395a18a 100644 --- a/goal_src/jak3/levels/forest/neo-spawner.gc +++ b/goal_src/jak3/levels/forest/neo-spawner.gc @@ -607,9 +607,9 @@ (matrix-f-compose gp-0 a1-5) ) (vector-copy! (-> gp-0 trans) (-> self root trans)) - (if (logtest? (-> *part-group-id-table* 566 flags) (sp-group-flag sp13)) - (part-tracker-spawn part-tracker-subsampler :to self :group (-> *part-group-id-table* 566) :mat-joint gp-0) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 566) :mat-joint gp-0) + (if (logtest? (-> group-neo-spawner-spit flags) (sp-group-flag sp13)) + (part-tracker-spawn part-tracker-subsampler :to self :group group-neo-spawner-spit :mat-joint gp-0) + (part-tracker-spawn part-tracker :to self :group group-neo-spawner-spit :mat-joint gp-0) ) ) (set-time! (-> self last-spawn-time)) @@ -689,13 +689,13 @@ (debris-spawn self a1-7 *neo-spawner-debris-params* (the-as process-drawable #f)) ) (cond - ((logtest? (-> *part-group-id-table* 565 flags) (sp-group-flag sp13)) + ((logtest? (-> group-neo-spawner-explode flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 565)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-neo-spawner-explode) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 565)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-neo-spawner-explode) ) ) (sound-play "neo-spwnr-xpld") @@ -807,7 +807,7 @@ ) (set! (-> this info) (the-as neo-spawner-type *neo-spawner-info*)) (set! (-> this root pause-adjust-distance) 286720.0) - (set! (-> this dead-part) (create-launch-control (-> *part-group-id-table* 567) this)) + (set! (-> this dead-part) (create-launch-control group-neo-spawner-dead this)) (set! (-> this manager-entity) (entity-actor-lookup (-> this entity) 'alt-actor 1)) (set! (-> this turret-entity) (entity-actor-lookup (-> this entity) 'alt-actor 2)) (set! (-> this minimap) #f) diff --git a/goal_src/jak3/levels/glider/glider-ring.gc b/goal_src/jak3/levels/glider/glider-ring.gc index 0ac9e61ad1..711f5ac063 100644 --- a/goal_src/jak3/levels/glider/glider-ring.gc +++ b/goal_src/jak3/levels/glider/glider-ring.gc @@ -297,19 +297,14 @@ (send-event arg0 'ring-pos (-> self root trans) (-> s4-4 fvec)) ) (set-time! (-> self touch-time)) - (if (logtest? (-> *part-group-id-table* 655 flags) (sp-group-flag sp13)) + (if (logtest? (-> group-glider-ring-explode flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 655) - :mat-joint (-> self mat) - ) - (part-tracker-spawn - part-tracker - :to *entity-pool* - :group (-> *part-group-id-table* 655) + :group group-glider-ring-explode :mat-joint (-> self mat) ) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-glider-ring-explode :mat-joint (-> self mat)) ) (when (logtest? (-> gp-2 root-prim prim-core collide-as) (collide-spec jak)) (set! (-> self player-got) #t) @@ -550,9 +545,9 @@ (set! (-> this plane w) (- (vector-dot (-> this plane) (-> this root trans)))) (update-transforms (-> this root)) (set! (-> this player-got) #f) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 652) this)) - (set! (-> this distant-part) (create-launch-control (-> *part-group-id-table* 654) this)) - (set! (-> this blinky-part) (create-launch-control (-> *part-group-id-table* 660) this)) + (set! (-> this part) (create-launch-control group-glider-ring this)) + (set! (-> this distant-part) (create-launch-control group-distant-glider-ring this)) + (set! (-> this blinky-part) (create-launch-control group-glider-blinking-dot this)) (set! (-> this blinky-gone?) #f) (if (not (-> this persistent)) (set! (-> this minimap) #f) @@ -700,7 +695,7 @@ ) (defmethod init-part-and-mat! ((this glider-thermal)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 656) this)) + (set! (-> this part) (create-launch-control group-wind-thermal this)) (matrix-identity! (-> this mat)) (vector-copy! (-> this mat trans) (-> this root trans)) 0 @@ -765,13 +760,13 @@ (defun glider-launch-mist-particle ((arg0 vector) (arg1 process)) (cond - ((logtest? (-> *part-group-id-table* 657 flags) (sp-group-flag sp13)) + ((logtest? (-> group-glider-cloud flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) arg0) - (part-tracker-spawn part-tracker-subsampler :to arg1 :group (-> *part-group-id-table* 657) :duration -1) + (part-tracker-spawn part-tracker-subsampler :to arg1 :group group-glider-cloud :duration -1) ) (else (vector-copy! (-> *launch-matrix* trans) arg0) - (part-tracker-spawn part-tracker :to arg1 :group (-> *part-group-id-table* 657) :duration -1) + (part-tracker-spawn part-tracker :to arg1 :group group-glider-cloud :duration -1) ) ) 0 diff --git a/goal_src/jak3/levels/gungame/gun-dummy.gc b/goal_src/jak3/levels/gungame/gun-dummy.gc index 0f783d4222..b6e6e35ea6 100644 --- a/goal_src/jak3/levels/gungame/gun-dummy.gc +++ b/goal_src/jak3/levels/gungame/gun-dummy.gc @@ -528,14 +528,14 @@ (matrix-fu-compose s5-3 s4-3 *up-vector*) ) (vector-copy! (-> s5-3 trans) (-> self root trans)) - (if (logtest? (-> *part-group-id-table* 1425 flags) (sp-group-flag sp13)) + (if (logtest? (-> group-gun-dummy-shield-explode flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 1425) + :group group-gun-dummy-shield-explode :mat-joint s5-3 ) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 1425) :mat-joint s5-3) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-gun-dummy-shield-explode :mat-joint s5-3) ) ) (setup-masks (-> self draw) 0 gp-2) @@ -793,7 +793,7 @@ ) ) (setup-masks (-> this draw) 0 (gun-dummy-method-35 this)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 1413) this)) + (set! (-> this part) (create-launch-control group-gun-dummy-sparks this)) (set! (-> this next-spark) 0) (set! (-> this explode-part-group) #f) (set-explode-group this) @@ -1069,7 +1069,7 @@ (quaternion-identity! (-> s5-1 spawn-quat)) (set! (-> s5-1 radius) 24576.0) (set! (-> s5-1 scale) 1.0) - (set! (-> s5-1 group) (-> *part-group-id-table* 1424)) + (set! (-> s5-1 group) group-dummy-explode-bomb-spider-explode) (set! (-> s5-1 collide-with) (collide-spec jak player-list)) (set! (-> s5-1 damage) 2.0) (set! (-> s5-1 damage-scale) 1.0) @@ -1776,73 +1776,73 @@ ;; WARN: Return type mismatch sparticle-launch-group vs none. (defmethod set-explode-group ((this gun-dummy-cit-a)) - (set! (-> this explode-part-group) (-> *part-group-id-table* 1414)) + (set! (-> this explode-part-group) group-dummy-explode-cit-a) (none) ) ;; WARN: Return type mismatch sparticle-launch-group vs none. (defmethod set-explode-group ((this gun-dummy-cit-ratchet)) - (set! (-> this explode-part-group) (-> *part-group-id-table* 1414)) + (set! (-> this explode-part-group) group-dummy-explode-cit-a) (none) ) ;; WARN: Return type mismatch sparticle-launch-group vs none. (defmethod set-explode-group ((this gun-dummy-cit-clank)) - (set! (-> this explode-part-group) (-> *part-group-id-table* 1414)) + (set! (-> this explode-part-group) group-dummy-explode-cit-a) (none) ) ;; WARN: Return type mismatch sparticle-launch-group vs none. (defmethod set-explode-group ((this gun-dummy-cit-b)) - (set! (-> this explode-part-group) (-> *part-group-id-table* 1415)) + (set! (-> this explode-part-group) group-dummy-explode-cit-b) (none) ) ;; WARN: Return type mismatch sparticle-launch-group vs none. (defmethod set-explode-group ((this gun-dummy-cit-c)) - (set! (-> this explode-part-group) (-> *part-group-id-table* 1416)) + (set! (-> this explode-part-group) group-dummy-explode-cit-c) (none) ) ;; WARN: Return type mismatch sparticle-launch-group vs none. (defmethod set-explode-group ((this gun-dummy-cit-d)) - (set! (-> this explode-part-group) (-> *part-group-id-table* 1417)) + (set! (-> this explode-part-group) group-dummy-explode-cit-d) (none) ) ;; WARN: Return type mismatch sparticle-launch-group vs none. (defmethod set-explode-group ((this gun-dummy-kg-b)) - (set! (-> this explode-part-group) (-> *part-group-id-table* 1419)) + (set! (-> this explode-part-group) group-dummy-explode-kg-b) (none) ) ;; WARN: Return type mismatch sparticle-launch-group vs none. (defmethod set-explode-group ((this gun-dummy-kg-c)) - (set! (-> this explode-part-group) (-> *part-group-id-table* 1420)) + (set! (-> this explode-part-group) group-dummy-explode-kg-c) (none) ) ;; WARN: Return type mismatch sparticle-launch-group vs none. (defmethod set-explode-group ((this gun-dummy-kg-big)) - (set! (-> this explode-part-group) (-> *part-group-id-table* 1418)) + (set! (-> this explode-part-group) group-dummy-explode-kg-big) (none) ) ;; WARN: Return type mismatch sparticle-launch-group vs none. (defmethod set-explode-group ((this gun-dummy-kg-bonus)) - (set! (-> this explode-part-group) (-> *part-group-id-table* 1423)) + (set! (-> this explode-part-group) group-dummy-explode-kg-bonus) (none) ) ;; WARN: Return type mismatch sparticle-launch-group vs none. (defmethod set-explode-group ((this gun-dummy-gun)) - (set! (-> this explode-part-group) (-> *part-group-id-table* 1414)) + (set! (-> this explode-part-group) group-dummy-explode-cit-a) (none) ) ;; WARN: Return type mismatch sparticle-launch-group vs none. (defmethod set-explode-group ((this gun-dummy-explode)) - (set! (-> this explode-part-group) (-> *part-group-id-table* 1422)) + (set! (-> this explode-part-group) group-dummy-explode-bomb-spider-shatter) (none) ) diff --git a/goal_src/jak3/levels/mhcity/destroy-dark-eco.gc b/goal_src/jak3/levels/mhcity/destroy-dark-eco.gc index 9dd42763fd..f05e55531e 100644 --- a/goal_src/jak3/levels/mhcity/destroy-dark-eco.gc +++ b/goal_src/jak3/levels/mhcity/destroy-dark-eco.gc @@ -261,14 +261,9 @@ 0 (let ((gp-1 (quaternion->matrix (new 'stack-no-clear 'matrix) (-> self root quat)))) (vector-copy! (-> gp-1 trans) (-> self root trans)) - (if (logtest? (-> *part-group-id-table* 325 flags) (sp-group-flag sp13)) - (part-tracker-spawn - part-tracker-subsampler - :to *entity-pool* - :group (-> *part-group-id-table* 325) - :mat-joint gp-1 - ) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 325) :mat-joint gp-1) + (if (logtest? (-> group-puffer-egg-explode flags) (sp-group-flag sp13)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-puffer-egg-explode :mat-joint gp-1) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-puffer-egg-explode :mat-joint gp-1) ) ) (suspend-for (seconds 0.1) @@ -674,7 +669,7 @@ (set! (-> self last-attack-id) (the-as uint 0)) (set! (-> self hit-points) 1.0) (set! (-> self movie?) #f) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 1449) self)) + (set! (-> self part) (create-launch-control group-part-dark-egg-mist-active self)) (set! (-> self minimap) (add-icon! *minimap* self (the-as uint 13) (the-as int #f) (-> arg0 extra trans) 0)) (dotimes (gp-1 2) (quaternion-identity! (the-as quaternion (+ (the-as uint (-> self discs 0 orient)) (* 192 gp-1)))) @@ -751,7 +746,7 @@ (set! (-> self discs gp-2 cur-state) 'inactive) (init! (-> self discs gp-2 bolt) 8 4 *dark-tower-lightning*) ) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 1449) self)) + (set! (-> self part) (create-launch-control group-part-dark-egg-mist-active self)) (go-virtual active) ) diff --git a/goal_src/jak3/levels/mhcity/mhcity-obs.gc b/goal_src/jak3/levels/mhcity/mhcity-obs.gc index 73d43bd05b..3edbf3f530 100644 --- a/goal_src/jak3/levels/mhcity/mhcity-obs.gc +++ b/goal_src/jak3/levels/mhcity/mhcity-obs.gc @@ -810,7 +810,7 @@ (the-as pair 0) ) (set! (-> self draw light-index) (the-as uint 10)) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 328) self)) + (set! (-> self part) (create-launch-control group-mhcity-dark-eco-door self)) (go-virtual crack) ) @@ -847,13 +847,13 @@ (vector-copy! v1-0 (-> self root trans)) (+! (-> v1-0 y) 40960.0) (cond - ((logtest? (-> *part-group-id-table* 327 flags) (sp-group-flag sp13)) + ((logtest? (-> group-mhcity-door-break-door-bust flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) v1-0) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 327)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-mhcity-door-break-door-bust) ) (else (vector-copy! (-> *launch-matrix* trans) v1-0) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 327)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-mhcity-door-break-door-bust) ) ) ) @@ -1080,13 +1080,13 @@ :code (behavior () (sound-play "egg-explode") (cond - ((logtest? (-> *part-group-id-table* 326 flags) (sp-group-flag sp13)) + ((logtest? (-> group-mhcity-nodule-hit flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 326)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-mhcity-nodule-hit) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 326)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-mhcity-nodule-hit) ) ) (suspend-for (seconds 0.1) @@ -1150,13 +1150,13 @@ :enter (behavior () (sound-play "egg-explode") (cond - ((logtest? (-> *part-group-id-table* 325 flags) (sp-group-flag sp13)) + ((logtest? (-> group-puffer-egg-explode flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 325)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-puffer-egg-explode) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 325)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-puffer-egg-explode) ) ) (logior! (-> self draw status) (draw-control-status no-draw)) diff --git a/goal_src/jak3/levels/mhcity/mhcity-obs2.gc b/goal_src/jak3/levels/mhcity/mhcity-obs2.gc index 866ca1153e..7d3be507e1 100644 --- a/goal_src/jak3/levels/mhcity/mhcity-obs2.gc +++ b/goal_src/jak3/levels/mhcity/mhcity-obs2.gc @@ -69,7 +69,7 @@ (set! (-> this jump-y) (* 4096.0 (res-lump-float arg0 'jump-y :default 20.0))) (set! (-> this jump-z) (* 4096.0 (res-lump-float arg0 'jump-z :default 10.0))) (initialize-skeleton this (the-as skeleton-group (get-skel this)) (the-as pair 0)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 319) this)) + (set! (-> this part) (create-launch-control group-puffer-hard-blowing-steam this)) (set! (-> this period) (the-as uint 1200)) (set! (-> this duration) (the-as uint 750)) (set! (-> this is-jump?) (the-as basic #t)) @@ -127,7 +127,7 @@ (the-as pair 0) ) (set-vector! (-> self root scale) (-> arg0 scale) (-> arg0 scale) (-> arg0 scale) 1.0) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 319) self)) + (set! (-> self part) (create-launch-control group-puffer-hard-blowing-steam self)) (set! (-> self period) (the-as uint 1200)) (set! (-> self duration) (the-as uint 750)) (set! (-> self offset) (the-as uint (mod (the-as int (rand-uint31-gen *random-generator*)) 301))) diff --git a/goal_src/jak3/levels/mine/mine-obs.gc b/goal_src/jak3/levels/mine/mine-obs.gc index 1fadf807e2..778c400cf4 100644 --- a/goal_src/jak3/levels/mine/mine-obs.gc +++ b/goal_src/jak3/levels/mine/mine-obs.gc @@ -1189,8 +1189,8 @@ (t9-0 this arg0) ) (logclear! (-> this mask) (process-mask actor-pause)) - (set! (-> this off-part) (create-launch-control (-> *part-group-id-table* 598) this)) - (set! (-> this on-part) (create-launch-control (-> *part-group-id-table* 599) this)) + (set! (-> this off-part) (create-launch-control group-min-target-sign-off this)) + (set! (-> this on-part) (create-launch-control group-min-target-sign-on this)) (set! (-> this alt-actor) (entity-actor-lookup arg0 'alt-actor 0)) (set! (-> this touched-train?) #f) (let ((v1-11 (-> *game-info* sub-task-list (game-task-node mine-blow-resolution)))) diff --git a/goal_src/jak3/levels/mine/mine-train.gc b/goal_src/jak3/levels/mine/mine-train.gc index 58f313bedb..1f96e3a5fe 100644 --- a/goal_src/jak3/levels/mine/mine-train.gc +++ b/goal_src/jak3/levels/mine/mine-train.gc @@ -483,13 +483,13 @@ (spawn-debris self) (explode-sound self) (cond - ((logtest? (-> *part-group-id-table* 604 flags) (sp-group-flag sp13)) + ((logtest? (-> group-bomb-train-explode flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 604)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-bomb-train-explode) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 604)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-bomb-train-explode) ) ) (activate! *camera-smush-control* 819.2 36 210 0.5 1.0 (-> self clock)) @@ -523,13 +523,13 @@ (spawn-debris self) (explode-sound self) (cond - ((logtest? (-> *part-group-id-table* 604 flags) (sp-group-flag sp13)) + ((logtest? (-> group-bomb-train-explode flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 604)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-bomb-train-explode) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 604)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-bomb-train-explode) ) ) (activate! *camera-smush-control* 819.2 36 210 0.5 1.0 (-> self clock)) @@ -890,9 +890,9 @@ (set! (-> v1-64 attack-id) a0-24) (set! (-> this attack-id) a0-24) ) - (set! (-> this spark-part) (create-launch-control (-> *part-group-id-table* 605) this)) - (set! (-> this smoke-part) (create-launch-control (-> *part-group-id-table* 606) this)) - (set! (-> this light-part) (create-launch-control (-> *part-group-id-table* 607) this)) + (set! (-> this spark-part) (create-launch-control group-bomb-train-sparks this)) + (set! (-> this smoke-part) (create-launch-control group-bomb-train-smoke this)) + (set! (-> this light-part) (create-launch-control group-bomb-train-light this)) (set! (-> this doors-exploded?) #f) (set! (-> this taskman) (the-as handle #f)) (when (not (task-open? (the-as string ((method-of-type res-lump get-property-struct) diff --git a/goal_src/jak3/levels/mine/mined-scenes.gc b/goal_src/jak3/levels/mine/mined-scenes.gc index a203a77c14..008f98fc55 100644 --- a/goal_src/jak3/levels/mine/mined-scenes.gc +++ b/goal_src/jak3/levels/mine/mined-scenes.gc @@ -1586,7 +1586,7 @@ (quaternion-identity! (-> s5-0 spawn-quat)) (set! (-> s5-0 radius) 8192.0) (set! (-> s5-0 scale) 1.0) - (set! (-> s5-0 group) (-> *part-group-id-table* 217)) + (set! (-> s5-0 group) group-kg-huge-explosion) (set! (-> s5-0 collide-with) (collide-spec)) (set! (-> s5-0 damage) 2.0) (set! (-> s5-0 damage-scale) 1.0) diff --git a/goal_src/jak3/levels/mine/prebot-extras.gc b/goal_src/jak3/levels/mine/prebot-extras.gc index 4eb6ff6aee..542a3f1a21 100644 --- a/goal_src/jak3/levels/mine/prebot-extras.gc +++ b/goal_src/jak3/levels/mine/prebot-extras.gc @@ -213,7 +213,7 @@ (quaternion-identity! (-> gp-1 spawn-quat)) (set! (-> gp-1 radius) 8192.0) (set! (-> gp-1 scale) 1.0) - (set! (-> gp-1 group) (-> *part-group-id-table* 218)) + (set! (-> gp-1 group) group-kg-big-explosion) (set! (-> gp-1 collide-with) (collide-spec)) (set! (-> gp-1 damage) 2.0) (set! (-> gp-1 damage-scale) 1.0) @@ -722,7 +722,7 @@ (defmethod init-proj-settings! ((this prebot-gun-shot)) (set! (-> this attack-mode) 'eco-dark) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 1335) this)) + (set! (-> this part) (create-launch-control group-prebot-gun-shot-trail this)) (set! (-> this sound-id) (new-sound-id)) ((method-of-type projectile init-proj-settings!) this) 0 @@ -802,7 +802,7 @@ (quaternion-identity! (-> gp-0 spawn-quat)) (set! (-> gp-0 radius) 8192.0) (set! (-> gp-0 scale) 1.0) - (set! (-> gp-0 group) (-> *part-group-id-table* 1343)) + (set! (-> gp-0 group) group-prebot-gun-shot-explosion) (set! (-> gp-0 collide-with) (collide-spec backgnd jak crate enemy obstacle vehicle-sphere hit-by-others-list player-list pusher shield) ) @@ -858,18 +858,18 @@ (set! (-> gp-0 timeout) (seconds 4)) (spawn-projectile prebot-gun-shot gp-0 (ppointer->process (-> self parent)) *default-dead-pool*) ) - (if (logtest? (-> *part-group-id-table* 1334 flags) (sp-group-flag sp13)) + (if (logtest? (-> group-prebot-launch-critter flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 1334) + :group group-prebot-launch-critter :duration (seconds 1) :mat-joint (-> self node-list data 7 bone transform) ) (part-tracker-spawn part-tracker :to *entity-pool* - :group (-> *part-group-id-table* 1334) + :group group-prebot-launch-critter :duration (seconds 1) :mat-joint (-> self node-list data 7 bone transform) ) @@ -1051,13 +1051,13 @@ ) (sound-play "columns-break" :position (-> self root trans)) (cond - ((logtest? (-> *part-group-id-table* 1344 flags) (sp-group-flag sp13)) + ((logtest? (-> group-prebot-pillar-shatter flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 1344)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-prebot-pillar-shatter) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 1344)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-prebot-pillar-shatter) ) ) (go-virtual wait-to-die) diff --git a/goal_src/jak3/levels/mine/prebot-setup.gc b/goal_src/jak3/levels/mine/prebot-setup.gc index 1c7e1350f2..c5ace4456a 100644 --- a/goal_src/jak3/levels/mine/prebot-setup.gc +++ b/goal_src/jak3/levels/mine/prebot-setup.gc @@ -494,9 +494,9 @@ (set! (-> self end-y) (+ (-> arg0 y) (-> arg1 height))) (set! (-> self vulnerable) #f) (set! (-> self hot) #f) - (set! (-> self heat-part) (create-launch-control (-> *part-group-id-table* 1336) self)) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 1337) self)) - (set! (-> self cool-part) (create-launch-control (-> *part-group-id-table* 1338) self)) + (set! (-> self heat-part) (create-launch-control group-prebot-eco-pillar-heat-up self)) + (set! (-> self part) (create-launch-control group-prebot-eco-pillar-grow self)) + (set! (-> self cool-part) (create-launch-control group-prebot-eco-pillar-cool-down self)) (go-virtual heat-up) ) diff --git a/goal_src/jak3/levels/mine/prebot-states.gc b/goal_src/jak3/levels/mine/prebot-states.gc index d52be6d35d..d4f5451c1e 100644 --- a/goal_src/jak3/levels/mine/prebot-states.gc +++ b/goal_src/jak3/levels/mine/prebot-states.gc @@ -1170,18 +1170,18 @@ (cond (s3-0 (vector<-cspace! gp-0 (-> (the-as process-drawable s3-0) node-list data 7)) - (if (logtest? (-> *part-group-id-table* 1334 flags) (sp-group-flag sp13)) + (if (logtest? (-> group-prebot-launch-critter flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 1334) + :group group-prebot-launch-critter :duration (seconds 1) :mat-joint (-> (the-as process-drawable s3-0) node-list data 7 bone transform) ) (part-tracker-spawn part-tracker :to *entity-pool* - :group (-> *part-group-id-table* 1334) + :group group-prebot-launch-critter :duration (seconds 1) :mat-joint (-> (the-as process-drawable s3-0) node-list data 7 bone transform) ) diff --git a/goal_src/jak3/levels/nest/egg-spider.gc b/goal_src/jak3/levels/nest/egg-spider.gc index 1b43ef181a..1689deaedc 100644 --- a/goal_src/jak3/levels/nest/egg-spider.gc +++ b/goal_src/jak3/levels/nest/egg-spider.gc @@ -1195,13 +1195,13 @@ (sound-play "spider-get-hit") ) (cond - ((logtest? (-> *part-group-id-table* 638 flags) (sp-group-flag sp13)) + ((logtest? (-> group-egg-spider-explosion flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 638)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-egg-spider-explosion) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 638)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-egg-spider-explosion) ) ) (let ((t9-12 (-> (method-of-type nav-enemy knocked) enter))) @@ -1247,13 +1247,13 @@ ) :code (behavior () (cond - ((logtest? (-> *part-group-id-table* 639 flags) (sp-group-flag sp13)) + ((logtest? (-> group-egg-spider-birth flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 639)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-egg-spider-birth) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 639)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-egg-spider-birth) ) ) (suspend-for (seconds 0.6) diff --git a/goal_src/jak3/levels/nest/mh-bat.gc b/goal_src/jak3/levels/nest/mh-bat.gc index 764a44323e..2bb7ecf26f 100644 --- a/goal_src/jak3/levels/nest/mh-bat.gc +++ b/goal_src/jak3/levels/nest/mh-bat.gc @@ -1384,15 +1384,9 @@ ) (vector<-cspace! (-> gp-0 trans) (joint-node mh-bat-lod0-jg jaw)) ) - (if (logtest? (-> *part-group-id-table* 635 flags) (sp-group-flag sp13)) - (part-tracker-spawn - part-tracker-subsampler - :to self - :group (-> *part-group-id-table* 635) - :target self - :mat-joint 36 - ) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 635) :target self :mat-joint 36) + (if (logtest? (-> group-mh-bat-charge-up flags) (sp-group-flag sp13)) + (part-tracker-spawn part-tracker-subsampler :to self :group group-mh-bat-charge-up :target self :mat-joint 36) + (part-tracker-spawn part-tracker :to self :group group-mh-bat-charge-up :target self :mat-joint 36) ) ) :trans (behavior () diff --git a/goal_src/jak3/levels/nest/mh-centipede-part.gc b/goal_src/jak3/levels/nest/mh-centipede-part.gc index e1ec26b7e4..295a33c049 100644 --- a/goal_src/jak3/levels/nest/mh-centipede-part.gc +++ b/goal_src/jak3/levels/nest/mh-centipede-part.gc @@ -1040,13 +1040,13 @@ (sp-kill-particle arg0 arg1) (set-vector! gp-0 (-> arg2 x) (-> arg1 omega) (-> arg2 z) 1.0) (cond - ((logtest? (-> *part-group-id-table* 648 flags) (sp-group-flag sp13)) + ((logtest? (-> part-mh-centipede-explosion-splats flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) gp-0) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 648)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group part-mh-centipede-explosion-splats) ) (else (vector-copy! (-> *launch-matrix* trans) gp-0) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 648)) + (part-tracker-spawn part-tracker :to *entity-pool* :group part-mh-centipede-explosion-splats) ) ) ) diff --git a/goal_src/jak3/levels/nest/mh-centipede.gc b/goal_src/jak3/levels/nest/mh-centipede.gc index 61e6b12bcc..ae634e36b6 100644 --- a/goal_src/jak3/levels/nest/mh-centipede.gc +++ b/goal_src/jak3/levels/nest/mh-centipede.gc @@ -929,7 +929,7 @@ (quaternion-identity! (-> gp-1 spawn-quat)) (set! (-> gp-1 radius) 8192.0) (set! (-> gp-1 scale) 1.0) - (set! (-> gp-1 group) (-> *part-group-id-table* 650)) + (set! (-> gp-1 group) group-mh-centipede-shot-explosion) (set! (-> gp-1 collide-with) (collide-spec backgnd jak crate enemy obstacle vehicle-sphere hit-by-others-list player-list pusher shield) ) @@ -1106,9 +1106,9 @@ ) (vector+! (-> s3-0 trans) (-> s1-0 collision-pt) s4-0) (let ((v1-23 - (if (logtest? (-> *part-group-id-table* 643 flags) (sp-group-flag sp13)) - (part-tracker-spawn part-tracker-subsampler :to arg0 :group (-> *part-group-id-table* 643) :mat-joint s3-0) - (part-tracker-spawn part-tracker :to arg0 :group (-> *part-group-id-table* 643) :mat-joint s3-0) + (if (logtest? (-> group-mh-centipede-crater-mark flags) (sp-group-flag sp13)) + (part-tracker-spawn part-tracker-subsampler :to arg0 :group group-mh-centipede-crater-mark :mat-joint s3-0) + (part-tracker-spawn part-tracker :to arg0 :group group-mh-centipede-crater-mark :mat-joint s3-0) ) ) ) @@ -1632,9 +1632,9 @@ ) ) (let ((v1-22 - (if (logtest? (-> *part-group-id-table* 647 flags) (sp-group-flag sp13)) - (part-tracker-spawn part-tracker-subsampler :to this :group (-> *part-group-id-table* 647) :mat-joint s5-0) - (part-tracker-spawn part-tracker :to this :group (-> *part-group-id-table* 647) :mat-joint s5-0) + (if (logtest? (-> group-mh-centipede-death flags) (sp-group-flag sp13)) + (part-tracker-spawn part-tracker-subsampler :to this :group group-mh-centipede-death :mat-joint s5-0) + (part-tracker-spawn part-tracker :to this :group group-mh-centipede-death :mat-joint s5-0) ) ) ) @@ -2927,11 +2927,11 @@ (set! (-> this flags) (mh-centipede-flag)) (set! (-> this incoming-attack-id) (the-as uint 0)) (set! (-> this hit-points) 100.0) - (set! (-> this before-breach-part) (create-launch-control (-> *part-group-id-table* 641) this)) - (set! (-> this breach-part) (create-launch-control (-> *part-group-id-table* 642) this)) - (set! (-> this dirt-fall-part) (create-launch-control (-> *part-group-id-table* 644) this)) - (set! (-> this impact-part) (create-launch-control (-> *part-group-id-table* 645) this)) - (set! (-> this impact-dust-part) (create-launch-control (-> *part-group-id-table* 646) this)) + (set! (-> this before-breach-part) (create-launch-control group-mh-centipede-before-breach this)) + (set! (-> this breach-part) (create-launch-control group-mh-centipede-breach this)) + (set! (-> this dirt-fall-part) (create-launch-control group-mh-centipede-dirt-fall-off this)) + (set! (-> this impact-part) (create-launch-control group-mh-centipede-impact this)) + (set! (-> this impact-dust-part) (create-launch-control group-mh-centipede-impact-dust-up this)) (set! (-> this breach-anims) (new 'static 'boxed-array :type mh-centipede-anim (new 'static 'mh-centipede-anim diff --git a/goal_src/jak3/levels/nest/nst-obs.gc b/goal_src/jak3/levels/nest/nst-obs.gc index e3d635eb8f..9e53d44b4e 100644 --- a/goal_src/jak3/levels/nest/nst-obs.gc +++ b/goal_src/jak3/levels/nest/nst-obs.gc @@ -125,13 +125,13 @@ (vector-copy! v1-18 (-> self root trans)) (+! (-> v1-18 y) 8192.0) (cond - ((logtest? (-> *part-group-id-table* 611 flags) (sp-group-flag sp13)) + ((logtest? (-> group-nst-metalhead-egg-explode flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) v1-18) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 611)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-nst-metalhead-egg-explode) ) (else (vector-copy! (-> *launch-matrix* trans) v1-18) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 611)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-nst-metalhead-egg-explode) ) ) ) @@ -473,12 +473,12 @@ ) :code (behavior () (cond - ((logtest? (-> *part-group-id-table* 622 flags) (sp-group-flag sp13)) + ((logtest? (-> group-nst-bridge-goo-explosion flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 622) + :group group-nst-bridge-goo-explosion :duration (seconds 5) ) ) @@ -487,7 +487,7 @@ (part-tracker-spawn part-tracker :to *entity-pool* - :group (-> *part-group-id-table* 622) + :group group-nst-bridge-goo-explosion :duration (seconds 5) ) ) @@ -627,83 +627,63 @@ :parent (nst-falling-stone-bridge nst-bridge-base-state) :code (behavior () (cond - ((logtest? (-> *part-group-id-table* 619 flags) (sp-group-flag sp13)) + ((logtest? (-> group-nest-ceiling-dust-1 flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self node-list data 4 bone transform trans)) (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 619) + :group group-nest-ceiling-dust-1 :duration (seconds 0.017) ) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self node-list data 4 bone transform trans)) - (part-tracker-spawn - part-tracker - :to *entity-pool* - :group (-> *part-group-id-table* 619) - :duration (seconds 0.017) - ) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-nest-ceiling-dust-1 :duration (seconds 0.017)) ) ) (cond - ((logtest? (-> *part-group-id-table* 619 flags) (sp-group-flag sp13)) + ((logtest? (-> group-nest-ceiling-dust-1 flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self node-list data 5 bone transform trans)) (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 619) + :group group-nest-ceiling-dust-1 :duration (seconds 0.017) ) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self node-list data 5 bone transform trans)) - (part-tracker-spawn - part-tracker - :to *entity-pool* - :group (-> *part-group-id-table* 619) - :duration (seconds 0.017) - ) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-nest-ceiling-dust-1 :duration (seconds 0.017)) ) ) (cond - ((logtest? (-> *part-group-id-table* 619 flags) (sp-group-flag sp13)) + ((logtest? (-> group-nest-ceiling-dust-1 flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self node-list data 6 bone transform trans)) (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 619) + :group group-nest-ceiling-dust-1 :duration (seconds 0.017) ) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self node-list data 6 bone transform trans)) - (part-tracker-spawn - part-tracker - :to *entity-pool* - :group (-> *part-group-id-table* 619) - :duration (seconds 0.017) - ) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-nest-ceiling-dust-1 :duration (seconds 0.017)) ) ) (cond - ((logtest? (-> *part-group-id-table* 619 flags) (sp-group-flag sp13)) + ((logtest? (-> group-nest-ceiling-dust-1 flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self node-list data 7 bone transform trans)) (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 619) + :group group-nest-ceiling-dust-1 :duration (seconds 0.017) ) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self node-list data 7 bone transform trans)) - (part-tracker-spawn - part-tracker - :to *entity-pool* - :group (-> *part-group-id-table* 619) - :duration (seconds 0.017) - ) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-nest-ceiling-dust-1 :duration (seconds 0.017)) ) ) (when (-> self actor-group) @@ -728,7 +708,7 @@ ) (when (not (logtest? gp-8 1)) (cond - ((logtest? (-> *part-group-id-table* 619 flags) (sp-group-flag sp13)) + ((logtest? (-> group-nest-ceiling-dust-1 flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self node-list data (-> *nst-falling-stone-bridge-part-nodes* (logand gp-8 3)) bone transform trans) @@ -736,7 +716,7 @@ (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 619) + :group group-nest-ceiling-dust-1 :duration (seconds 0.017) ) ) @@ -745,12 +725,7 @@ (-> *launch-matrix* trans) (-> self node-list data (-> *nst-falling-stone-bridge-part-nodes* (logand gp-8 3)) bone transform trans) ) - (part-tracker-spawn - part-tracker - :to *entity-pool* - :group (-> *part-group-id-table* 619) - :duration (seconds 0.017) - ) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-nest-ceiling-dust-1 :duration (seconds 0.017)) ) ) ) @@ -793,134 +768,104 @@ (when (< s5-0 (the int f30-0)) (when (= (the int f30-0) (+ gp-0 -10)) (cond - ((logtest? (-> *part-group-id-table* 619 flags) (sp-group-flag sp13)) + ((logtest? (-> group-nest-ceiling-dust-1 flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self node-list data 4 bone transform trans)) (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 619) + :group group-nest-ceiling-dust-1 :duration (seconds 0.017) ) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self node-list data 4 bone transform trans)) - (part-tracker-spawn - part-tracker - :to *entity-pool* - :group (-> *part-group-id-table* 619) - :duration (seconds 0.017) - ) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-nest-ceiling-dust-1 :duration (seconds 0.017)) ) ) (cond - ((logtest? (-> *part-group-id-table* 619 flags) (sp-group-flag sp13)) + ((logtest? (-> group-nest-ceiling-dust-1 flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self node-list data 5 bone transform trans)) (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 619) + :group group-nest-ceiling-dust-1 :duration (seconds 0.017) ) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self node-list data 5 bone transform trans)) - (part-tracker-spawn - part-tracker - :to *entity-pool* - :group (-> *part-group-id-table* 619) - :duration (seconds 0.017) - ) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-nest-ceiling-dust-1 :duration (seconds 0.017)) ) ) (cond - ((logtest? (-> *part-group-id-table* 619 flags) (sp-group-flag sp13)) + ((logtest? (-> group-nest-ceiling-dust-1 flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self node-list data 7 bone transform trans)) (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 619) + :group group-nest-ceiling-dust-1 :duration (seconds 0.017) ) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self node-list data 7 bone transform trans)) - (part-tracker-spawn - part-tracker - :to *entity-pool* - :group (-> *part-group-id-table* 619) - :duration (seconds 0.017) - ) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-nest-ceiling-dust-1 :duration (seconds 0.017)) ) ) (cond - ((logtest? (-> *part-group-id-table* 619 flags) (sp-group-flag sp13)) + ((logtest? (-> group-nest-ceiling-dust-1 flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self node-list data 8 bone transform trans)) (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 619) + :group group-nest-ceiling-dust-1 :duration (seconds 0.017) ) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self node-list data 8 bone transform trans)) - (part-tracker-spawn - part-tracker - :to *entity-pool* - :group (-> *part-group-id-table* 619) - :duration (seconds 0.017) - ) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-nest-ceiling-dust-1 :duration (seconds 0.017)) ) ) (cond - ((logtest? (-> *part-group-id-table* 619 flags) (sp-group-flag sp13)) + ((logtest? (-> group-nest-ceiling-dust-1 flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self node-list data 9 bone transform trans)) (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 619) + :group group-nest-ceiling-dust-1 :duration (seconds 0.017) ) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self node-list data 9 bone transform trans)) - (part-tracker-spawn - part-tracker - :to *entity-pool* - :group (-> *part-group-id-table* 619) - :duration (seconds 0.017) - ) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-nest-ceiling-dust-1 :duration (seconds 0.017)) ) ) (cond - ((logtest? (-> *part-group-id-table* 619 flags) (sp-group-flag sp13)) + ((logtest? (-> group-nest-ceiling-dust-1 flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self node-list data 10 bone transform trans)) (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 619) + :group group-nest-ceiling-dust-1 :duration (seconds 0.017) ) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self node-list data 10 bone transform trans)) - (part-tracker-spawn - part-tracker - :to *entity-pool* - :group (-> *part-group-id-table* 619) - :duration (seconds 0.017) - ) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-nest-ceiling-dust-1 :duration (seconds 0.017)) ) ) ) (when (= (the int f30-0) (+ gp-0 -3)) (cond - ((logtest? (-> *part-group-id-table* 621 flags) (sp-group-flag sp13)) + ((logtest? (-> group-nest-ground-impact-dust flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self node-list data 12 bone transform trans)) (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 621) + :group group-nest-ground-impact-dust :duration (seconds 0.017) ) ) @@ -929,7 +874,7 @@ (part-tracker-spawn part-tracker :to *entity-pool* - :group (-> *part-group-id-table* 621) + :group group-nest-ground-impact-dust :duration (seconds 0.017) ) ) @@ -1389,13 +1334,13 @@ (defmethod projectile-method-26 ((this cocoon-grenade-shot)) (cond - ((logtest? (-> *part-group-id-table* 105 flags) (sp-group-flag sp13)) + ((logtest? (-> group-gun-green-shot-hit flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> this root trans)) - (part-tracker-spawn part-tracker-subsampler :to this :group (-> *part-group-id-table* 105)) + (part-tracker-spawn part-tracker-subsampler :to this :group group-gun-green-shot-hit) ) (else (vector-copy! (-> *launch-matrix* trans) (-> this root trans)) - (part-tracker-spawn part-tracker :to this :group (-> *part-group-id-table* 105)) + (part-tracker-spawn part-tracker :to this :group group-gun-green-shot-hit) ) ) 0 @@ -1435,7 +1380,7 @@ (let ((f0-5 1092.2667)) (quaternion-axis-angle! (-> this tumble-quat) 1.0 0.0 0.0 f0-5) ) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 634) this)) + (set! (-> this part) (create-launch-control group-cocoon-grenade-shot this)) (set! (-> this sound-id) (new-sound-id)) (none) ) @@ -1817,13 +1762,13 @@ ) :code (behavior () (cond - ((logtest? (-> *part-group-id-table* 617 flags) (sp-group-flag sp13)) + ((logtest? (-> group-cocoon-turret-hit flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self incoming attack-position)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 617)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-cocoon-turret-hit) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self incoming attack-position)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 617)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-cocoon-turret-hit) ) ) (sound-play "cocoon-shriek") @@ -1865,12 +1810,12 @@ (kill-particles (-> self charge-down-part)) (kill-particles (-> self charge-up-part)) (cond - ((logtest? (-> *part-group-id-table* 616 flags) (sp-group-flag sp13)) + ((logtest? (-> group-cocoon-turret-explosion flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self node-list data 12 bone transform trans)) (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 616) + :group group-cocoon-turret-explosion :duration (seconds 0.335) ) ) @@ -1879,7 +1824,7 @@ (part-tracker-spawn part-tracker :to *entity-pool* - :group (-> *part-group-id-table* 616) + :group group-cocoon-turret-explosion :duration (seconds 0.335) ) ) @@ -2173,10 +2118,10 @@ (quaternion-copy! (-> this turret transform quat) (-> this root quat)) (quaternion-copy! (-> this dest-quat) (-> this root quat)) (set! (-> this turret transform trans quad) (-> this root trans quad)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 615) this)) - (set! (-> this cocoon-part) (create-launch-control (-> *part-group-id-table* 612) this)) - (set! (-> this charge-down-part) (create-launch-control (-> *part-group-id-table* 613) this)) - (set! (-> this charge-up-part) (create-launch-control (-> *part-group-id-table* 614) this)) + (set! (-> this part) (create-launch-control group-cocoon-turret-glow this)) + (set! (-> this cocoon-part) (create-launch-control group-cocoon-big-egg-glow this)) + (set! (-> this charge-down-part) (create-launch-control group-cocoon-big-egg-charge-down this)) + (set! (-> this charge-up-part) (create-launch-control group-cocoon-big-egg-charge-up this)) (set! (-> this activate-distance) (res-lump-float (-> this entity) 'distance)) (set! (-> this root pause-adjust-distance) (-> this activate-distance)) (set! (-> this sound-turret-loop) (static-sound-spec "cocoon-wind-up" :group 0)) @@ -2320,7 +2265,7 @@ (set! (-> this sound-amb-loop) (static-sound-spec "cocoon-amb-loop" :group 0)) (set! (-> this sound-amb-loop-id) (new-sound-id)) (set! (-> this root pause-adjust-distance) (res-lump-float (-> this entity) 'distance)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 633) this)) + (set! (-> this part) (create-launch-control group-cocoon-poison-gas-smoke this)) (cond ((task-node-closed? (game-task-node nest-eggs-gas)) (go (method-of-object this retracted)) diff --git a/goal_src/jak3/levels/nest/nst-part.gc b/goal_src/jak3/levels/nest/nst-part.gc index c3514e5844..9c8c9ed74f 100644 --- a/goal_src/jak3/levels/nest/nst-part.gc +++ b/goal_src/jak3/levels/nest/nst-part.gc @@ -708,7 +708,7 @@ (set! (-> gp-0 w) 1.0) (set! (-> gp-0 y) (-> arg1 omega)) (cond - ((= (-> arg1 key group) (-> *part-group-id-table* 619)) + ((= (-> arg1 key group) group-nest-ceiling-dust-1) (launch-particles (-> *part-id-table* 2415) gp-0) (launch-particles (-> *part-id-table* 2416) gp-0) (launch-particles (-> *part-id-table* 2417) gp-0) diff --git a/goal_src/jak3/levels/precursor/precura-obs.gc b/goal_src/jak3/levels/precursor/precura-obs.gc index dacfcb8b78..61c0902dda 100644 --- a/goal_src/jak3/levels/precursor/precura-obs.gc +++ b/goal_src/jak3/levels/precursor/precura-obs.gc @@ -633,13 +633,13 @@ :enter (behavior () (set-time! (-> self state-time)) (cond - ((logtest? (-> *part-group-id-table* 1313 flags) (sp-group-flag sp13)) + ((logtest? (-> group-precura-generator-explode flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 1313)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-precura-generator-explode) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 1313)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-precura-generator-explode) ) ) (when (type? (-> self root) collide-shape) @@ -804,13 +804,13 @@ :enter (behavior () (set-time! (-> self state-time)) (cond - ((logtest? (-> *part-group-id-table* 1313 flags) (sp-group-flag sp13)) + ((logtest? (-> group-precura-generator-explode flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 1313)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-precura-generator-explode) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 1313)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-precura-generator-explode) ) ) (when (type? (-> self root) collide-shape) @@ -1006,13 +1006,13 @@ :enter (behavior () (set-time! (-> self state-time)) (cond - ((logtest? (-> *part-group-id-table* 1313 flags) (sp-group-flag sp13)) + ((logtest? (-> group-precura-generator-explode flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 1313)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-precura-generator-explode) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 1313)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-precura-generator-explode) ) ) (sound-stop (-> self sound-id)) @@ -1253,13 +1253,13 @@ (logior! (-> self draw status) (draw-control-status no-draw)) (transform-post) (cond - ((logtest? (-> *part-group-id-table* 1318 flags) (sp-group-flag sp13)) + ((logtest? (-> group-gem-explosion flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 1318)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-gem-explosion) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 1318)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-gem-explosion) ) ) (sound-play "gem-explode") @@ -1301,7 +1301,7 @@ (set! (-> self sound-id) (new-sound-id)) (vector-copy! (-> self offset-vec) arg2) (set! (-> self ang-vel) arg1) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 1317) self)) + (set! (-> self part) (create-launch-control group-gem-d-smoke self)) (vector-copy! (-> self root trans) arg0) (vector-copy! (-> self init-pos) arg0) (initialize-skeleton @@ -1464,13 +1464,13 @@ :enter (behavior () (set-time! (-> self state-time)) (cond - ((logtest? (-> *part-group-id-table* 1313 flags) (sp-group-flag sp13)) + ((logtest? (-> group-precura-generator-explode flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 1313)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-precura-generator-explode) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 1313)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-precura-generator-explode) ) ) (sound-stop (-> self sound-id)) @@ -1520,26 +1520,26 @@ (rand-vu-sphere-point! gp-0 105472.0) (set! (-> gp-0 y) -20480.0) (cond - ((logtest? (-> *part-group-id-table* 1313 flags) (sp-group-flag sp13)) + ((logtest? (-> group-precura-generator-explode flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (vector+! gp-0 (-> self root trans) gp-0)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 1313)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-precura-generator-explode) ) (else (vector-copy! (-> *launch-matrix* trans) (vector+! gp-0 (-> self root trans) gp-0)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 1313)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-precura-generator-explode) ) ) (sound-play "gem-explode") (rand-vu-sphere-point! gp-0 105472.0) (set! (-> gp-0 y) -32768.0) (cond - ((logtest? (-> *part-group-id-table* 1313 flags) (sp-group-flag sp13)) + ((logtest? (-> group-precura-generator-explode flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (vector+! gp-0 (-> self root trans) gp-0)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 1313)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-precura-generator-explode) ) (else (vector-copy! (-> *launch-matrix* trans) (vector+! gp-0 (-> self root trans) gp-0)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 1313)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-precura-generator-explode) ) ) ) @@ -1562,26 +1562,26 @@ (rand-vu-sphere-point! gp-4 105472.0) (set! (-> gp-4 y) -61440.0) (cond - ((logtest? (-> *part-group-id-table* 1313 flags) (sp-group-flag sp13)) + ((logtest? (-> group-precura-generator-explode flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (vector+! gp-4 (-> self root trans) gp-4)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 1313)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-precura-generator-explode) ) (else (vector-copy! (-> *launch-matrix* trans) (vector+! gp-4 (-> self root trans) gp-4)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 1313)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-precura-generator-explode) ) ) (sound-play "gem-explode") (rand-vu-sphere-point! gp-4 105472.0) (set! (-> gp-4 y) -20480.0) (cond - ((logtest? (-> *part-group-id-table* 1313 flags) (sp-group-flag sp13)) + ((logtest? (-> group-precura-generator-explode flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (vector+! gp-4 (-> self root trans) gp-4)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 1313)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-precura-generator-explode) ) (else (vector-copy! (-> *launch-matrix* trans) (vector+! gp-4 (-> self root trans) gp-4)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 1313)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-precura-generator-explode) ) ) ) @@ -1593,26 +1593,26 @@ (rand-vu-sphere-point! gp-8 105472.0) (set! (-> gp-8 y) -61440.0) (cond - ((logtest? (-> *part-group-id-table* 1313 flags) (sp-group-flag sp13)) + ((logtest? (-> group-precura-generator-explode flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (vector+! gp-8 (-> self root trans) gp-8)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 1313)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-precura-generator-explode) ) (else (vector-copy! (-> *launch-matrix* trans) (vector+! gp-8 (-> self root trans) gp-8)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 1313)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-precura-generator-explode) ) ) (sound-play "gem-explode") (rand-vu-sphere-point! gp-8 105472.0) (set! (-> gp-8 y) -20480.0) (cond - ((logtest? (-> *part-group-id-table* 1313 flags) (sp-group-flag sp13)) + ((logtest? (-> group-precura-generator-explode flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (vector+! gp-8 (-> self root trans) gp-8)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 1313)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-precura-generator-explode) ) (else (vector-copy! (-> *launch-matrix* trans) (vector+! gp-8 (-> self root trans) gp-8)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 1313)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-precura-generator-explode) ) ) ) @@ -1889,7 +1889,7 @@ (the-as pair 0) ) (quaternion-copy! (-> this start-quat) (-> this root quat)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 1314) this)) + (set! (-> this part) (create-launch-control group-platform-effect this)) (let* ((s5-2 (-> this part)) (s4-2 (method-of-object s5-2 set-local-space-info)) (s3-1 (add-connection *part-local-space-engine* this local-space-proc-joint 4 0 0)) diff --git a/goal_src/jak3/levels/precursor/precura-obs2.gc b/goal_src/jak3/levels/precursor/precura-obs2.gc index 231b6dd44c..a97854831e 100644 --- a/goal_src/jak3/levels/precursor/precura-obs2.gc +++ b/goal_src/jak3/levels/precursor/precura-obs2.gc @@ -482,13 +482,13 @@ ) (sound-play "block-break") (cond - ((logtest? (-> *part-group-id-table* 195 flags) (sp-group-flag sp13)) + ((logtest? (-> group-crate-explode flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to self :group (-> *part-group-id-table* 195)) + (part-tracker-spawn part-tracker-subsampler :to self :group group-crate-explode) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 195)) + (part-tracker-spawn part-tracker :to self :group group-crate-explode) ) ) (go-virtual wait) @@ -498,13 +498,13 @@ ) (sound-play "block-break") (cond - ((logtest? (-> *part-group-id-table* 195 flags) (sp-group-flag sp13)) + ((logtest? (-> group-crate-explode flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to self :group (-> *part-group-id-table* 195)) + (part-tracker-spawn part-tracker-subsampler :to self :group group-crate-explode) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 195)) + (part-tracker-spawn part-tracker :to self :group group-crate-explode) ) ) (go-virtual wait) @@ -934,7 +934,7 @@ (quaternion-identity! (-> gp-1 spawn-quat)) (set! (-> gp-1 radius) 40960.0) (set! (-> gp-1 scale) 1.0) - (set! (-> gp-1 group) (-> *part-group-id-table* 1325)) + (set! (-> gp-1 group) group-kg-bomb-explosion) (set! (-> gp-1 collide-with) (collide-spec backgnd jak crate civilian enemy obstacle vehicle-sphere hit-by-others-list player-list pusher) ) @@ -1351,7 +1351,7 @@ ) ) (set! (-> this proc-handle) (the-as handle #f)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 1315) this)) + (set! (-> this part) (create-launch-control group-bomb-spawner this)) (go (method-of-object this idle)) ) @@ -1585,26 +1585,26 @@ (vector+float*! s3-0 arg0 arg1 sv-564) (matrix-f-compose s4-0 arg1) (vector-copy! (-> s4-0 trans) s3-0) - (if (logtest? (-> *part-group-id-table* 1326 flags) (sp-group-flag sp13)) + (if (logtest? (-> group-placeholder-single-laser flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 1326) + :group group-placeholder-single-laser :mat-joint s4-0 ) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 1326) :mat-joint s4-0) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-placeholder-single-laser :mat-joint s4-0) ) (vector+float*! s3-0 arg0 arg1 (- sv-564)) (matrix-f-compose s4-0 (vector-float*! (new 'stack-no-clear 'vector) arg1 -1.0)) (vector-copy! (-> s4-0 trans) s3-0) - (if (logtest? (-> *part-group-id-table* 1326 flags) (sp-group-flag sp13)) + (if (logtest? (-> group-placeholder-single-laser flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 1326) + :group group-placeholder-single-laser :mat-joint s4-0 ) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 1326) :mat-joint s4-0) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-placeholder-single-laser :mat-joint s4-0) ) ) (none) @@ -1959,7 +1959,7 @@ ) (defmethod init! ((this task-manager-precura)) - (set! (-> this part-doom) (create-launch-control (-> *part-group-id-table* 1327) this)) + (set! (-> this part-doom) (create-launch-control group-precura-engulfing-death this)) (set-time! (-> this doom-time)) (set! (-> this doom-counter) (the-as uint 0)) (set! (-> this faded) (the-as uint 0)) @@ -2521,7 +2521,7 @@ (set! (-> this attack-id) a0-10) ) (set! (-> this bolt) (new 'process 'lightning-bolt)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 1316) this)) + (set! (-> this part) (create-launch-control group-shock-wave this)) (init! (-> this bolt) 2 32 *precur-tour-lightning*) (new 'stack-no-clear 'vector) (let ((v1-22 (process-spawn diff --git a/goal_src/jak3/levels/sewer/flyingsaw.gc b/goal_src/jak3/levels/sewer/flyingsaw.gc index 5536854eab..125a6a5bbd 100644 --- a/goal_src/jak3/levels/sewer/flyingsaw.gc +++ b/goal_src/jak3/levels/sewer/flyingsaw.gc @@ -472,7 +472,7 @@ (quaternion-copy! (-> this base-quat) (-> this root quat)) (set-params! (-> this wobble-target) 30 60 0.25 0.0) (set-params! (-> this wobble) (the-as vector #f) 0.007 0.1 0.99) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 1500) this)) + (set! (-> this part) (create-launch-control group-flyingsaw-sparks this)) (set! (-> this fly-sound) (new-sound-id)) (set! (-> this fly-sound-playing) #f) (go (method-of-object this idle)) diff --git a/goal_src/jak3/levels/sewer/kg-hopper.gc b/goal_src/jak3/levels/sewer/kg-hopper.gc index 862bd8acc2..6391c80d87 100644 --- a/goal_src/jak3/levels/sewer/kg-hopper.gc +++ b/goal_src/jak3/levels/sewer/kg-hopper.gc @@ -394,13 +394,13 @@ ) (let ((v1-8 (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node kg-hopper-lod0-jg chest)))) (cond - ((logtest? (-> *part-group-id-table* 221 flags) (sp-group-flag sp13)) + ((logtest? (-> group-kg-small-explosion flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) v1-8) - (part-tracker-spawn part-tracker-subsampler :to self :group (-> *part-group-id-table* 221)) + (part-tracker-spawn part-tracker-subsampler :to self :group group-kg-small-explosion) ) (else (vector-copy! (-> *launch-matrix* trans) v1-8) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 221)) + (part-tracker-spawn part-tracker :to self :group group-kg-small-explosion) ) ) ) @@ -478,13 +478,13 @@ (when (logtest? (water-flag touch-water) (-> s3-0 flags)) (set! (-> v1-10 y) (-> s3-0 trans y)) (cond - ((logtest? (-> *part-group-id-table* 192 flags) (sp-group-flag sp13)) + ((logtest? (-> group-part-water-splash flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) v1-10) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 192)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-part-water-splash) ) (else (vector-copy! (-> *launch-matrix* trans) v1-10) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 192)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-part-water-splash) ) ) (sound-play "splash-out") diff --git a/goal_src/jak3/levels/sewer/mh-wasp.gc b/goal_src/jak3/levels/sewer/mh-wasp.gc index ad531e8821..fce0ef9870 100644 --- a/goal_src/jak3/levels/sewer/mh-wasp.gc +++ b/goal_src/jak3/levels/sewer/mh-wasp.gc @@ -808,13 +808,13 @@ ) ) (cond - ((logtest? (-> *part-group-id-table* 1530 flags) (sp-group-flag sp13)) + ((logtest? (-> group-mh-wasp-explosion flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to self :group (-> *part-group-id-table* 1530)) + (part-tracker-spawn part-tracker-subsampler :to self :group group-mh-wasp-explosion) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 1530)) + (part-tracker-spawn part-tracker :to self :group group-mh-wasp-explosion) ) ) (while (-> self child) @@ -1304,8 +1304,8 @@ (set! (-> this path) (new 'process 'path-control this 'intro 0.0 (-> this entity) #f)) (set! (-> this path-u) 0.0) (logior! (-> this path flags) (path-control-flag display draw-line draw-point draw-text)) - (set! (-> this smoke-part) (create-launch-control (-> *part-group-id-table* 1527) this)) - (set! (-> this engine-part) (create-launch-control (-> *part-group-id-table* 1529) this)) + (set! (-> this smoke-part) (create-launch-control group-mh-wasp-gun-smoke this)) + (set! (-> this engine-part) (create-launch-control group-mh-wasp-engine this)) (add-connection *part-engine* this diff --git a/goal_src/jak3/levels/sewer/needle-fish.gc b/goal_src/jak3/levels/sewer/needle-fish.gc index 7012d42f01..857cb6d633 100644 --- a/goal_src/jak3/levels/sewer/needle-fish.gc +++ b/goal_src/jak3/levels/sewer/needle-fish.gc @@ -631,7 +631,7 @@ (quaternion-identity! (-> gp-2 spawn-quat)) (set! (-> gp-2 radius) 20480.0) (set! (-> gp-2 scale) 1.0) - (set! (-> gp-2 group) (-> *part-group-id-table* 221)) + (set! (-> gp-2 group) group-kg-small-explosion) (set! (-> gp-2 collide-with) (collide-spec backgnd jak crate civilian enemy obstacle vehicle-sphere hit-by-others-list player-list pusher) ) diff --git a/goal_src/jak3/levels/sewer/neo-grenadier.gc b/goal_src/jak3/levels/sewer/neo-grenadier.gc index 6f3d0de474..c8052636f6 100644 --- a/goal_src/jak3/levels/sewer/neo-grenadier.gc +++ b/goal_src/jak3/levels/sewer/neo-grenadier.gc @@ -1383,7 +1383,7 @@ (set! (-> this status-flags) (grenadier-status-flag)) (set! (-> this suppress-knockaside-timer) 0) (set-vector! (-> this root scale) 1.5 1.5 1.5 1.0) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 1523) this)) + (set! (-> this part) (create-launch-control group-neo-grenadier-drip this)) (set! (-> this hostile-path) (new 'process 'path-control this 'hostile 0.0 (-> this entity) #t)) (if (zero? (-> this hostile-path)) (set! (-> this hostile-path) #f) diff --git a/goal_src/jak3/levels/sewer/neo-juicer.gc b/goal_src/jak3/levels/sewer/neo-juicer.gc index 87287ed510..ebf8ff4ebb 100644 --- a/goal_src/jak3/levels/sewer/neo-juicer.gc +++ b/goal_src/jak3/levels/sewer/neo-juicer.gc @@ -196,13 +196,13 @@ (defmethod projectile-method-26 ((this neo-juicer-shot)) (projectile-method-25 this) (cond - ((logtest? (-> *part-group-id-table* 1524 flags) (sp-group-flag sp13)) + ((logtest? (-> group-neo-juicer-shot-hit flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> this root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 1524)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-neo-juicer-shot-hit) ) (else (vector-copy! (-> *launch-matrix* trans) (-> this root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 1524)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-neo-juicer-shot-hit) ) ) 0 diff --git a/goal_src/jak3/levels/sewer/sew-laser-guard.gc b/goal_src/jak3/levels/sewer/sew-laser-guard.gc index 2306f97736..1cf7123c9d 100644 --- a/goal_src/jak3/levels/sewer/sew-laser-guard.gc +++ b/goal_src/jak3/levels/sewer/sew-laser-guard.gc @@ -659,7 +659,7 @@ (setup-enemy! this *sew-laser-guard-enemy-info*) (logclear! (-> this mask) (process-mask actor-pause)) (logclear! (-> this enemy-flags) (enemy-flag actor-pause-backup)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 1505) this)) + (set! (-> this part) (create-launch-control group-sew-laser-guard-hit this)) (let ((f30-0 (res-lump-float (-> this entity) 'rotoffset)) (f28-0 (res-lump-float (-> this entity) 'rotmax :default 8192.0)) (f26-0 (res-lump-float (-> this entity) 'rotmin :default -8192.0)) diff --git a/goal_src/jak3/levels/sewer/sew-laser-turret.gc b/goal_src/jak3/levels/sewer/sew-laser-turret.gc index 6360df93e8..295317989d 100644 --- a/goal_src/jak3/levels/sewer/sew-laser-turret.gc +++ b/goal_src/jak3/levels/sewer/sew-laser-turret.gc @@ -1131,9 +1131,9 @@ (setup-enemy! this *sew-laser-turret-enemy-info*) (logclear! (-> this mask) (process-mask actor-pause)) (logclear! (-> this enemy-flags) (enemy-flag actor-pause-backup)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 1518) this)) - (set! (-> this smoke-part) (create-launch-control (-> *part-group-id-table* 1519) this)) - (set! (-> this casing-part) (create-launch-control (-> *part-group-id-table* 1520) this)) + (set! (-> this part) (create-launch-control group-sew-laser-turret-hit this)) + (set! (-> this smoke-part) (create-launch-control group-sew-laser-turret-smoke this)) + (set! (-> this casing-part) (create-launch-control group-sew-laser-turret-casing this)) (set! (-> this max-num-rings) (res-lump-value (-> this entity) 'sdt-num-rings int :default (the-as uint128 2) :time -1000000000.0) ) diff --git a/goal_src/jak3/levels/sewer/sew-platforms.gc b/goal_src/jak3/levels/sewer/sew-platforms.gc index 4fade9901d..d7bd40a429 100644 --- a/goal_src/jak3/levels/sewer/sew-platforms.gc +++ b/goal_src/jak3/levels/sewer/sew-platforms.gc @@ -187,7 +187,7 @@ ;; WARN: Return type mismatch sparticle-launch-control vs none. (defmethod base-plat-method-34 ((this sew-moving-step-a)) (call-parent-method this) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 1496) this)) + (set! (-> this part) (create-launch-control group-sew-moving-step-a-wake this)) (none) ) @@ -424,7 +424,7 @@ ) (sync-now! (-> self sync) (-> arg0 offset)) (set! (-> self last-t-val) -1.0) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 1497) self)) + (set! (-> self part) (create-launch-control group-sew-moving-step-b-wake self)) (go-virtual active) ) diff --git a/goal_src/jak3/levels/sewer/sewer-move-turret.gc b/goal_src/jak3/levels/sewer/sewer-move-turret.gc index 107f5464bb..1aa30208ea 100644 --- a/goal_src/jak3/levels/sewer/sewer-move-turret.gc +++ b/goal_src/jak3/levels/sewer/sewer-move-turret.gc @@ -417,23 +417,23 @@ ((-> this hit-actor?) (sound-play "bullet-hit-jak") (cond - ((logtest? (-> *part-group-id-table* 1506 flags) (sp-group-flag sp13)) + ((logtest? (-> group-sew-move-turret-hit-object flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) gp-0) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 1506)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-sew-move-turret-hit-object) ) (else (vector-copy! (-> *launch-matrix* trans) gp-0) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 1506)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-sew-move-turret-hit-object) ) ) ) - ((begin (sound-play "bullet-ricco") (logtest? (-> *part-group-id-table* 1507 flags) (sp-group-flag sp13))) + ((begin (sound-play "bullet-ricco") (logtest? (-> group-sew-move-turret-hit flags) (sp-group-flag sp13))) (vector-copy! (-> *launch-matrix* trans) gp-0) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 1507)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-sew-move-turret-hit) ) (else (vector-copy! (-> *launch-matrix* trans) gp-0) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 1507)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-sew-move-turret-hit) ) ) ) diff --git a/goal_src/jak3/levels/sewer/sewer-obs.gc b/goal_src/jak3/levels/sewer/sewer-obs.gc index 028e0b6f87..0a86da67e1 100644 --- a/goal_src/jak3/levels/sewer/sewer-obs.gc +++ b/goal_src/jak3/levels/sewer/sewer-obs.gc @@ -1026,9 +1026,9 @@ (set! (-> a0-18 param1) this) (set! (-> a0-18 param2) (the-as basic 0)) ) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 1478) this)) - (set! (-> this hostile-part) (create-launch-control (-> *part-group-id-table* 1479) this)) - (set! (-> this gust-part) (create-launch-control (-> *part-group-id-table* 1501) this)) + (set! (-> this part) (create-launch-control group-sew-fan-lasersight this)) + (set! (-> this hostile-part) (create-launch-control group-sew-fan-lasersight-hostile this)) + (set! (-> this gust-part) (create-launch-control group-sew-fan-gust this)) (set! (-> this base-trans-y) (-> this root trans y)) (set! (-> this root trans y) (+ (-> this base-trans-y) (* 614.4 (sin (the float (* 30 (current-time))))))) (set! (-> this sound-fan-loop-id) (new-sound-id)) @@ -1680,7 +1680,7 @@ (set! (-> a1-3 percent) 0.0) (initialize! (-> this sync) a1-3) ) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 1473) this)) + (set! (-> this part) (create-launch-control group-sewer-green-steam this)) (go (method-of-object this idle)) ) @@ -1848,7 +1848,7 @@ (set! (-> v1-18 attack-id) a0-7) (set! (-> this attack-id) (the-as int a0-7)) ) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 1473) this)) + (set! (-> this part) (create-launch-control group-sewer-green-steam this)) (set! (-> this gas-time) (the-as time-frame (the int (* 300.0 (res-lump-float arg0 'delay :default 1.0))))) (let ((a1-7 (new 'stack-no-clear 'sync-info-params))) (let ((v1-25 0)) diff --git a/goal_src/jak3/levels/sewer/sewer-part.gc b/goal_src/jak3/levels/sewer/sewer-part.gc index 59ecdd7b07..e62509b956 100644 --- a/goal_src/jak3/levels/sewer/sewer-part.gc +++ b/goal_src/jak3/levels/sewer/sewer-part.gc @@ -1911,7 +1911,7 @@ (defun spt-func-birth-on-bubble-pop ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 sparticle-launchinfo)) (when (zero? (-> arg1 timer)) (cond - ((logtest? (-> *part-group-id-table* 1503 flags) (sp-group-flag sp13)) + ((logtest? (-> group-sewer-rising-bubbles-pop flags) (sp-group-flag sp13)) (let ((v1-6 (-> *launch-matrix* trans)) (a0-1 (new 'stack-no-clear 'vector)) ) @@ -1921,7 +1921,7 @@ (set! (-> a0-1 w) 1.0) (vector-copy! v1-6 a0-1) ) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 1503)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-sewer-rising-bubbles-pop) ) (else (let ((v1-19 (-> *launch-matrix* trans)) @@ -1933,7 +1933,7 @@ (set! (-> a0-6 w) 1.0) (vector-copy! v1-19 a0-6) ) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 1503)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-sewer-rising-bubbles-pop) ) ) ) diff --git a/goal_src/jak3/levels/stadium/dm-mine-spider.gc b/goal_src/jak3/levels/stadium/dm-mine-spider.gc index 7e2a9a88a4..c18f402dfe 100644 --- a/goal_src/jak3/levels/stadium/dm-mine-spider.gc +++ b/goal_src/jak3/levels/stadium/dm-mine-spider.gc @@ -675,13 +675,13 @@ (('event-explode) (sound-play "mnspider-blow") (cond - ((logtest? (-> *part-group-id-table* 1029 flags) (sp-group-flag sp13)) + ((logtest? (-> group-dm-mine-spider-explode flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> this root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 1029)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-dm-mine-spider-explode) ) (else (vector-copy! (-> *launch-matrix* trans) (-> this root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 1029)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-dm-mine-spider-explode) ) ) (go (method-of-object this die-fast)) @@ -868,13 +868,13 @@ ) (sound-play "mnspider-blow") (cond - ((logtest? (-> *part-group-id-table* 1029 flags) (sp-group-flag sp13)) + ((logtest? (-> group-dm-mine-spider-explode flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 1029)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-dm-mine-spider-explode) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 1029)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-dm-mine-spider-explode) ) ) (suspend) @@ -1326,13 +1326,13 @@ ) (when (< (-> self hit-points) 0) (cond - ((logtest? (-> *part-group-id-table* 1029 flags) (sp-group-flag sp13)) + ((logtest? (-> group-dm-mine-spider-explode flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 1029)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-dm-mine-spider-explode) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 1029)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-dm-mine-spider-explode) ) ) (go-virtual die) diff --git a/goal_src/jak3/levels/stadium/rubble-attack.gc b/goal_src/jak3/levels/stadium/rubble-attack.gc index 189661d343..a0fbca77f2 100644 --- a/goal_src/jak3/levels/stadium/rubble-attack.gc +++ b/goal_src/jak3/levels/stadium/rubble-attack.gc @@ -35,18 +35,18 @@ (defmethod projectile-method-26 ((this rub-missile)) (cond - ((logtest? (-> *part-group-id-table* 1021 flags) (sp-group-flag sp13)) + ((logtest? (-> group-rub-missile-explode flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> this root trans)) (part-tracker-spawn part-tracker-subsampler :to this - :group (-> *part-group-id-table* 1021) + :group group-rub-missile-explode :duration (seconds 0.167) ) ) (else (vector-copy! (-> *launch-matrix* trans) (-> this root trans)) - (part-tracker-spawn part-tracker :to this :group (-> *part-group-id-table* 1021) :duration (seconds 0.167)) + (part-tracker-spawn part-tracker :to this :group group-rub-missile-explode :duration (seconds 0.167)) ) ) 0 @@ -89,7 +89,7 @@ (let ((f0-5 1092.2667)) (quaternion-axis-angle! (-> this tumble-quat) 1.0 0.0 0.0 f0-5) ) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 1020) this)) + (set! (-> this part) (create-launch-control group-rub-missile this)) (set! (-> this sound-id) (new-sound-id)) (none) ) diff --git a/goal_src/jak3/levels/stadium/rubble-obs.gc b/goal_src/jak3/levels/stadium/rubble-obs.gc index a8e35701c0..69977a71cf 100644 --- a/goal_src/jak3/levels/stadium/rubble-obs.gc +++ b/goal_src/jak3/levels/stadium/rubble-obs.gc @@ -86,13 +86,13 @@ (activate! *camera-smush-control* 2048.0 30 150 1.0 0.8 (-> *display* camera-clock)) (sound-play "rub-fall-impact") (cond - ((logtest? (-> *part-group-id-table* 1026 flags) (sp-group-flag sp13)) + ((logtest? (-> group-rubble-tower-break flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self node-list data 11 bone transform trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 1026)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-rubble-tower-break) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self node-list data 11 bone transform trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 1026)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-rubble-tower-break) ) ) ) @@ -311,13 +311,13 @@ (sound-play "ruins-gate-towr") (spawn-joint-exploder self) (cond - ((logtest? (-> *part-group-id-table* 1024 flags) (sp-group-flag sp13)) + ((logtest? (-> group-rubble-switch-explode flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 1024)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-rubble-switch-explode) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 1024)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-rubble-switch-explode) ) ) (update-draw-mask self) @@ -448,8 +448,8 @@ ) (the-as pair 0) ) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 1023) this)) - (set! (-> this part-sparks) (create-launch-control (-> *part-group-id-table* 1025) this)) + (set! (-> this part) (create-launch-control group-rubble-switch-glow this)) + (set! (-> this part-sparks) (create-launch-control group-rubble-switch-sparks this)) (cond ((logtest? (-> this entity extra perm status) (entity-perm-status subtask-complete)) (update-draw-mask this) @@ -520,13 +520,13 @@ :position (-> (the-as process-drawable v1-3) root trans) ) (cond - ((logtest? (-> *part-group-id-table* 1027 flags) (sp-group-flag sp13)) + ((logtest? (-> group-elec-gate-sparks flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> (the-as rigid-body-impact gp-1) point)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 1027)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-elec-gate-sparks) ) (else (vector-copy! (-> *launch-matrix* trans) (-> (the-as rigid-body-impact gp-1) point)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 1027)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-elec-gate-sparks) ) ) ) @@ -758,7 +758,7 @@ (if (-> this active?) (toggle-blocking-plane this #t) ) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 1022) this)) + (set! (-> this part) (create-launch-control group-rub-elec-gate this)) (set! (-> this sound) (new 'process 'ambient-sound "ruins-gate-hum" (-> this root trans) 0.0)) (set! (-> this hit-sound-id) (new-sound-id)) (set! (-> this entity) arg0) diff --git a/goal_src/jak3/levels/stadium/stadium-obs.gc b/goal_src/jak3/levels/stadium/stadium-obs.gc index 284d2024d9..80073651ef 100644 --- a/goal_src/jak3/levels/stadium/stadium-obs.gc +++ b/goal_src/jak3/levels/stadium/stadium-obs.gc @@ -166,13 +166,13 @@ 0 (sound-play "door-blow") (cond - ((logtest? (-> *part-group-id-table* 1001 flags) (sp-group-flag sp13)) + ((logtest? (-> group-rubble-break-door-bust flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self node-list data 3 bone transform trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 1001)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-rubble-break-door-bust) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self node-list data 3 bone transform trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 1001)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-rubble-break-door-bust) ) ) (ja-no-eval :group! rub-dark-jak-door-break-ja :num! (seek!) :frame-num 0.0) @@ -229,7 +229,7 @@ (the-as pair 0) ) (set! (-> this played-hint?) #f) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 1002) this)) + (set! (-> this part) (create-launch-control group-rub-dark-jak-door this)) (set! (-> this block?) (and (string= (-> this name) "rub-dark-jak-door-2") (task-node-closed? (game-task-node desert-final-boss-resolution)) ) @@ -532,7 +532,7 @@ (the-as skeleton-group (art-group-get-by-name *level* "skel-rub-falling-step" (the-as (pointer level) #f))) (the-as pair 0) ) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 150) this)) + (set! (-> this part) (create-launch-control group-placeholder-single this)) (quaternion->matrix (-> this mat) (-> this root quat)) (vector-copy! (-> this mat trans) (-> this root trans)) (go (method-of-object this idle)) @@ -634,17 +634,17 @@ :code (behavior () (process-entity-status! self (entity-perm-status subtask-complete) #t) (do-explode self) - (if (logtest? (-> *part-group-id-table* 1003 flags) (sp-group-flag sp13)) + (if (logtest? (-> group-rhino-door-break flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 1003) + :group group-rhino-door-break :mat-joint (-> self node-list data 3 bone transform) ) (part-tracker-spawn part-tracker :to *entity-pool* - :group (-> *part-group-id-table* 1003) + :group group-rhino-door-break :mat-joint (-> self node-list data 3 bone transform) ) ) @@ -856,6 +856,6 @@ (set! (-> this root) (new 'process 'trsqv)) (process-drawable-from-entity! this arg0) (logclear! (-> this mask) (process-mask actor-pause)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 1004) this)) + (set! (-> this part) (create-launch-control group-mh-tower-smoke-stda this)) (go (method-of-object this idle)) ) diff --git a/goal_src/jak3/levels/temple/hover-training.gc b/goal_src/jak3/levels/temple/hover-training.gc index ca02a36645..392469ecde 100644 --- a/goal_src/jak3/levels/temple/hover-training.gc +++ b/goal_src/jak3/levels/temple/hover-training.gc @@ -599,8 +599,8 @@ ) (process-drawable-from-entity! this arg0) (logclear! (-> this mask) (process-mask actor-pause)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 686) this)) - (set! (-> this part-trail) (create-launch-control (-> *part-group-id-table* 685) this)) + (set! (-> this part) (create-launch-control group-tpl-token this)) + (set! (-> this part-trail) (create-launch-control group-tpl-token-trail this)) pp (set! (-> this part-subsampler) (new 'process 'sparticle-subsampler *sp-particle-system-2d* (-> *part-id-table* 2645) 3.0) @@ -1200,8 +1200,8 @@ (the-as skeleton-group (art-group-get-by-name *level* "skel-tpl-symbol" (the-as (pointer level) #f))) (the-as pair 0) ) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 688) this)) - (set! (-> this part-touched) (create-launch-control (-> *part-group-id-table* 689) this)) + (set! (-> this part) (create-launch-control group-tpl-symbol this)) + (set! (-> this part-touched) (create-launch-control group-tpl-symbol-touched this)) (logclear! (-> this mask) (process-mask actor-pause)) (go (method-of-object this idle)) ) diff --git a/goal_src/jak3/levels/temple/temple-obs.gc b/goal_src/jak3/levels/temple/temple-obs.gc index e1b8f3bac3..a262494cf4 100644 --- a/goal_src/jak3/levels/temple/temple-obs.gc +++ b/goal_src/jak3/levels/temple/temple-obs.gc @@ -1017,26 +1017,25 @@ (vector-copy! (-> this init-trans) (-> this root trans)) (init (-> this eyeball-jmod) this (the-as uint 4) (joint-mod-base-flags attached scale)) (init (-> this other-eyeball-jmod) this (the-as uint 9) (joint-mod-base-flags attached trans quat scale)) - (set! (-> this perm-part) - (ppointer->handle (if (logtest? (-> *part-group-id-table* 677 flags) (sp-group-flag sp13)) - (part-tracker-spawn - part-tracker-subsampler - :to this - :group (-> *part-group-id-table* 677) - :duration -1 - :target this - :mat-joint (the-as object 0) - ) - (part-tracker-spawn - part-tracker - :to this - :group (-> *part-group-id-table* 677) - :duration -1 - :target this - :mat-joint (the-as object 0) - ) - ) - ) + (set! (-> this perm-part) (ppointer->handle (if (logtest? (-> group-holo-halo flags) (sp-group-flag sp13)) + (part-tracker-spawn + part-tracker-subsampler + :to this + :group group-holo-halo + :duration -1 + :target this + :mat-joint (the-as object 0) + ) + (part-tracker-spawn + part-tracker + :to this + :group group-holo-halo + :duration -1 + :target this + :mat-joint (the-as object 0) + ) + ) + ) ) (set! (-> this idle-clock) 0) (set! (-> this triggered?) #f) @@ -2162,8 +2161,8 @@ (set! (-> this draw light-index) (the-as uint 10)) (set! (-> this alt-actor) (entity-actor-lookup arg0 'alt-actor 0)) (set! (-> this extra-id) (res-lump-value (-> this entity) 'extra-id uint :time -1000000000.0)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 675) this)) - (set! (-> this part-explode) (create-launch-control (-> *part-group-id-table* 676) this)) + (set! (-> this part) (create-launch-control group-tpl-break-alcove this)) + (set! (-> this part-explode) (create-launch-control group-tpl-break-alcove-explode this)) (let ((s5-1 (res-lump-struct (-> this entity) 'on-activate structure))) (if (and s5-1 (not (script-eval (the-as pair s5-1)))) (go (method-of-object this die-fast)) @@ -2325,8 +2324,8 @@ (logclear! (-> this mask) (process-mask actor-pause)) (set! (-> this alt-actor) (entity-actor-lookup arg0 'alt-actor 0)) (set! (-> this extra-id) (res-lump-value (-> this entity) 'extra-id uint :time -1000000000.0)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 673) this)) - (set! (-> this part-explode) (create-launch-control (-> *part-group-id-table* 674) this)) + (set! (-> this part) (create-launch-control group-tpl-break-door-a this)) + (set! (-> this part-explode) (create-launch-control group-tpl-break-door-explode this)) (let ((s5-1 (res-lump-struct (-> this entity) 'on-activate structure))) (if (and s5-1 (not (script-eval (the-as pair s5-1)))) (go (method-of-object this die-fast)) diff --git a/goal_src/jak3/levels/temple/temple-obs2.gc b/goal_src/jak3/levels/temple/temple-obs2.gc index 3f52fa3fb6..9626a49a2d 100644 --- a/goal_src/jak3/levels/temple/temple-obs2.gc +++ b/goal_src/jak3/levels/temple/temple-obs2.gc @@ -929,13 +929,13 @@ ) :code (behavior () (cond - ((logtest? (-> *part-group-id-table* 672 flags) (sp-group-flag sp13)) + ((logtest? (-> group-tpl-watcher-explosion flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 672)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-tpl-watcher-explosion) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 672)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-tpl-watcher-explosion) ) ) (let ((v1-33 (-> self root root-prim))) @@ -1107,10 +1107,10 @@ (set! (-> this bob-clock) (rand-vu-int-range 0 (seconds 19))) (set! (-> this period-a) (rand-vu-int-range 1200 3900)) (set! (-> this period-b) (rand-vu-int-range 2700 5700)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 669) this)) - (set! (-> this laser-sight) (create-launch-control (-> *part-group-id-table* 670) this)) + (set! (-> this part) (create-launch-control group-tpl-watcher-exhaust-distort this)) + (set! (-> this laser-sight) (create-launch-control group-tpl-watcher-laser-glow this)) (init-los! (-> this los) this (seconds 0.1) 327680.0 (collide-spec backgnd)) - (set! (-> this laser-charge-fx) (create-launch-control (-> *part-group-id-table* 671) this)) + (set! (-> this laser-charge-fx) (create-launch-control group-tpl-watcher-laser-charge this)) (let* ((s5-1 (-> this laser-charge-fx)) (s4-1 (method-of-object s5-1 set-local-space-info)) (s3-1 (add-connection *part-local-space-engine* this local-space-proc-joint 4 0 0)) @@ -1793,8 +1793,8 @@ (the-as skeleton-group (art-group-get-by-name *level* "skel-tpl-oracle-eye" (the-as (pointer level) #f))) (the-as pair 0) ) - (set! (-> this leye-sparta) (create-launch-control (-> *part-group-id-table* 682) this)) - (set! (-> this reye-sparta) (create-launch-control (-> *part-group-id-table* 682) this)) + (set! (-> this leye-sparta) (create-launch-control group-temple-oracle-eye-glow this)) + (set! (-> this reye-sparta) (create-launch-control group-temple-oracle-eye-glow this)) (go (method-of-object this open)) ) diff --git a/goal_src/jak3/levels/temple/templed-obs.gc b/goal_src/jak3/levels/temple/templed-obs.gc index 872ad5f2ac..8b51043d0e 100644 --- a/goal_src/jak3/levels/temple/templed-obs.gc +++ b/goal_src/jak3/levels/temple/templed-obs.gc @@ -681,13 +681,13 @@ (set! sv-24 arg0) (set! sv-32 (-> this node-list data (tpl-bbridge-panel arg0) bone transform trans)) (cond - ((logtest? (-> *part-group-id-table* 701 flags) (sp-group-flag sp13)) + ((logtest? (-> group-temple-bridge-break-kaboom flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) sv-32) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 701)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-temple-bridge-break-kaboom) ) (else (vector-copy! (-> *launch-matrix* trans) sv-32) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 701)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-temple-bridge-break-kaboom) ) ) (set-vector! (-> sv-16 panel-jmods sv-24 transform scale) 0.0 0.0 0.0 1.0) @@ -722,12 +722,12 @@ (when (not (-> this had-particle-spawned arg0)) (let ((v1-24 (-> this node-list data (tpl-bbridge-panel arg0) bone transform trans))) (cond - ((logtest? (-> *part-group-id-table* 700 flags) (sp-group-flag sp13)) + ((logtest? (-> group-temple-bridge-break-dust flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) v1-24) (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 700) + :group group-temple-bridge-break-dust :duration (seconds 0.1) ) ) @@ -736,7 +736,7 @@ (part-tracker-spawn part-tracker :to *entity-pool* - :group (-> *part-group-id-table* 700) + :group group-temple-bridge-break-dust :duration (seconds 0.1) ) ) @@ -782,13 +782,13 @@ (when (not (-> this had-particle-spawned arg0)) (let ((v1-81 (-> this node-list data (tpl-bbridge-panel arg0) bone transform trans))) (cond - ((logtest? (-> *part-group-id-table* 700 flags) (sp-group-flag sp13)) + ((logtest? (-> group-temple-bridge-break-dust flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) v1-81) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 700)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-temple-bridge-break-dust) ) (else (vector-copy! (-> *launch-matrix* trans) v1-81) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 700)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-temple-bridge-break-dust) ) ) ) diff --git a/goal_src/jak3/levels/tower/tower-obs.gc b/goal_src/jak3/levels/tower/tower-obs.gc index f9ae9dbaa0..8f9e429f17 100644 --- a/goal_src/jak3/levels/tower/tower-obs.gc +++ b/goal_src/jak3/levels/tower/tower-obs.gc @@ -590,7 +590,7 @@ (the-as skeleton-group (art-group-get-by-name *level* "skel-tow-energy-bridge" (the-as (pointer level) #f))) (the-as pair 0) ) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 1438) this)) + (set! (-> this part) (create-launch-control group-tow-energy-bridge this)) (if (logtest? (-> this entity extra perm status) (entity-perm-status subtask-complete)) (go (method-of-object this active)) (go (method-of-object this idle)) @@ -695,11 +695,11 @@ (suspend) (ja :num! (seek!)) ) - (if (logtest? (-> *part-group-id-table* 1436 flags) (sp-group-flag sp13)) + (if (logtest? (-> group-tow-spawner-spawn flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 1436) + :group group-tow-spawner-spawn :duration (seconds 2) :target self :mat-joint 5 @@ -707,7 +707,7 @@ (part-tracker-spawn part-tracker :to *entity-pool* - :group (-> *part-group-id-table* 1436) + :group group-tow-spawner-spawn :duration (seconds 2) :target self :mat-joint 5 @@ -841,7 +841,7 @@ (the-as skeleton-group (art-group-get-by-name *level* "skel-tow-spawner" (the-as (pointer level) #f))) (the-as pair 0) ) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 1437) this)) + (set! (-> this part) (create-launch-control group-tow-spawner-dead this)) (set! (-> this nav-mesh) (nav-mesh-from-res-tag (-> this entity) 'nav-mesh-actor 0)) (if (not (-> this nav-mesh)) (go process-drawable-art-error "no nav-mesh") diff --git a/goal_src/jak3/levels/volcano/volcano-obs.gc b/goal_src/jak3/levels/volcano/volcano-obs.gc index a84ffa9946..836c55be86 100644 --- a/goal_src/jak3/levels/volcano/volcano-obs.gc +++ b/goal_src/jak3/levels/volcano/volcano-obs.gc @@ -521,7 +521,7 @@ (set! (-> this attack-id) a0-50) ) (set! (-> this sound-id) (new-sound-id)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 1388) this)) + (set! (-> this part) (create-launch-control group-lava-shoot this)) (update-transforms (-> this root)) (go (method-of-object this idle)) ) @@ -1116,7 +1116,7 @@ (set! (-> v1-12 attack-id) a0-10) (set! (-> this attack-id) a0-10) ) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 1394) this)) + (set! (-> this part) (create-launch-control group-steam-geyser-shoot this)) (set! (-> this lid-y) 4096000.0) (set! (-> this extra-id) (res-lump-value (-> this entity) 'extra-id int :time -1000000000.0)) (set! (-> this notify-actor) (entity-actor-lookup arg0 'alt-actor 0)) @@ -1472,7 +1472,7 @@ (set! (-> self attack-id) a0-15) ) (set! (-> self no-collision-timer) 0) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 1397) self)) + (set! (-> self part) (create-launch-control group-vol-lava-ball self)) (go-virtual idle) ) @@ -1610,7 +1610,7 @@ (initialize! (-> this sync) a1-3) ) (set! (-> this ball-height) (res-lump-float (-> this entity) 'y-offset :default 81920.0)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 1395) this)) + (set! (-> this part) (create-launch-control group-lava-ball-spout this)) (set! (-> this ball) (the-as handle #f)) (set! (-> this sound-id) (new-sound-id)) (go (method-of-object this idle)) diff --git a/goal_src/jak3/levels/volcano/volcano-obs2.gc b/goal_src/jak3/levels/volcano/volcano-obs2.gc index 28e061c68a..8877868e43 100644 --- a/goal_src/jak3/levels/volcano/volcano-obs2.gc +++ b/goal_src/jak3/levels/volcano/volcano-obs2.gc @@ -582,7 +582,7 @@ (the-as skeleton-group (art-group-get-by-name *level* "skel-vol-break-ground" (the-as (pointer level) #f))) (the-as pair 0) ) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 1398) this)) + (set! (-> this part) (create-launch-control group-vol-break-ground this)) (go (method-of-object this idle)) ) diff --git a/goal_src/jak3/levels/volcano/volcano-part.gc b/goal_src/jak3/levels/volcano/volcano-part.gc index d025c36a69..7f0d2f4851 100644 --- a/goal_src/jak3/levels/volcano/volcano-part.gc +++ b/goal_src/jak3/levels/volcano/volcano-part.gc @@ -233,7 +233,7 @@ (defun spt-func-birth-on-pop ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 sparticle-launchinfo)) (when (zero? (-> arg1 timer)) (cond - ((logtest? (-> *part-group-id-table* 1391 flags) (sp-group-flag sp13)) + ((logtest? (-> group-volcano-lava-splash flags) (sp-group-flag sp13)) (let ((v1-6 (-> *launch-matrix* trans)) (a0-1 (new 'stack-no-clear 'vector)) ) @@ -243,7 +243,7 @@ (set! (-> a0-1 w) 1.0) (vector-copy! v1-6 a0-1) ) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 1391)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-volcano-lava-splash) ) (else (let ((v1-19 (-> *launch-matrix* trans)) @@ -255,7 +255,7 @@ (set! (-> a0-6 w) 1.0) (vector-copy! v1-19 a0-6) ) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 1391)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-volcano-lava-splash) ) ) ) diff --git a/goal_src/jak3/levels/volcano/volcanox-obs.gc b/goal_src/jak3/levels/volcano/volcanox-obs.gc index 1f68bfd0e4..034f96a02d 100644 --- a/goal_src/jak3/levels/volcano/volcanox-obs.gc +++ b/goal_src/jak3/levels/volcano/volcanox-obs.gc @@ -455,11 +455,11 @@ (init (-> this eyeball-jmod) this (the-as uint 4) (joint-mod-base-flags attached scale)) (init (-> this other-eyeball-jmod) this (the-as uint 9) (joint-mod-base-flags attached trans quat scale)) (set! (-> this perm-part) - (ppointer->handle (if (logtest? (-> *part-group-id-table* 1407 flags) (sp-group-flag sp13)) + (ppointer->handle (if (logtest? (-> group-vol-holo-halo flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to this - :group (-> *part-group-id-table* 1407) + :group group-vol-holo-halo :duration -1 :target this :mat-joint (the-as object 0) @@ -467,7 +467,7 @@ (part-tracker-spawn part-tracker :to this - :group (-> *part-group-id-table* 1407) + :group group-vol-holo-halo :duration -1 :target this :mat-joint (the-as object 0) diff --git a/goal_src/jak3/levels/wascity/bbush/des-bush-time-chase.gc b/goal_src/jak3/levels/wascity/bbush/des-bush-time-chase.gc index 77974f7a7f..7622661a10 100644 --- a/goal_src/jak3/levels/wascity/bbush/des-bush-time-chase.gc +++ b/goal_src/jak3/levels/wascity/bbush/des-bush-time-chase.gc @@ -437,8 +437,8 @@ (defbehavior trail-effect-init-by-other trail-effect ((arg0 vector)) (set! (-> self root) (new 'process 'trsqv)) (vector-copy! (-> self root trans) arg0) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 1534) self)) - (set! (-> self goal-part) (create-launch-control (-> *part-group-id-table* 1532) self)) + (set! (-> self part) (create-launch-control group-bb-finder self)) + (set! (-> self goal-part) (create-launch-control group-trail-goal self)) (let ((gp-1 (new 'stack-no-clear 'light-trail-tracker-spawn-params))) (set! (-> gp-1 tracked-obj) (process->handle self)) (set! (-> gp-1 appearance) *bb-timer-chase-trail*) @@ -539,13 +539,13 @@ :virtual #t :enter (behavior () (cond - ((logtest? (-> *part-group-id-table* 1531 flags) (sp-group-flag sp13)) + ((logtest? (-> group-goal-explode flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to self :group (-> *part-group-id-table* 1531)) + (part-tracker-spawn part-tracker-subsampler :to self :group group-goal-explode) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 1531)) + (part-tracker-spawn part-tracker :to self :group group-goal-explode) ) ) ) @@ -577,7 +577,7 @@ (set! (-> self root) (new 'process 'trsqv)) (process-drawable-from-entity! self arg0) (logclear! (-> self mask) (process-mask actor-pause)) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 1536) self)) + (set! (-> self part) (create-launch-control group-bb-goal self)) (set! (-> self activate-radius) arg1) (go-virtual idle) ) @@ -1284,7 +1284,7 @@ (set! (-> self activate-radius) arg2) (set! (-> self freeze-time) arg3) (set! (-> self freeze-pickup-radius) arg4) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 1539) self)) + (set! (-> self part) (create-launch-control group-bb-freeze self)) (go-virtual dormant) ) @@ -1303,7 +1303,7 @@ (set! (-> self activate-radius) arg2) (set! (-> self freeze-time) arg3) (set! (-> self freeze-pickup-radius) arg4) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 1538) self)) + (set! (-> self part) (create-launch-control group-bb-freeze-2 self)) (go-virtual dormant) ) @@ -1322,7 +1322,7 @@ (set! (-> self activate-radius) arg2) (set! (-> self freeze-time) arg3) (set! (-> self freeze-pickup-radius) arg4) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 1537) self)) + (set! (-> self part) (create-launch-control group-bb-freeze-3 self)) (go-virtual dormant) ) diff --git a/goal_src/jak3/levels/wascity/chase/kanga-lizard.gc b/goal_src/jak3/levels/wascity/chase/kanga-lizard.gc index 6c87c62245..898edbd6ed 100644 --- a/goal_src/jak3/levels/wascity/chase/kanga-lizard.gc +++ b/goal_src/jak3/levels/wascity/chase/kanga-lizard.gc @@ -1130,7 +1130,7 @@ 0 (set-gravity-length (-> this root dynam) 573440.0) (set! (-> this root pause-adjust-distance) 204800.0) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 524) this)) + (set! (-> this part) (create-launch-control group-kanga-lizard-dust this)) (set! (-> this last-focus-ping) 0) (set! (-> this minimap) (add-icon! *minimap* this (the-as uint 129) (the-as int #f) (the-as vector #t) 0)) 0 diff --git a/goal_src/jak3/levels/wascity/ctymark-obs.gc b/goal_src/jak3/levels/wascity/ctymark-obs.gc index db1ac6c2b8..c1a9004649 100644 --- a/goal_src/jak3/levels/wascity/ctymark-obs.gc +++ b/goal_src/jak3/levels/wascity/ctymark-obs.gc @@ -990,7 +990,7 @@ (the-as skeleton-group (art-group-get-by-name *level* "skel-market-basket-a" (the-as (pointer level) #f))) (the-as pair 0) ) - (set! (-> this part-explode) (-> *part-group-id-table* 249)) + (set! (-> this part-explode) group-mbasket-a-explode) (set! (-> this sound-explode) (static-sound-spec "break-vase" :group 0)) (call-parent-method this) (none) @@ -1008,7 +1008,7 @@ (the-as skeleton-group (art-group-get-by-name *level* "skel-market-basket-b" (the-as (pointer level) #f))) (the-as pair 0) ) - (set! (-> this part-explode) (-> *part-group-id-table* 250)) + (set! (-> this part-explode) group-mbasket-b-explode) (set! (-> this sound-explode) (static-sound-spec "break-flour" :group 0)) (call-parent-method this) (none) @@ -1026,7 +1026,7 @@ (the-as skeleton-group (art-group-get-by-name *level* "skel-market-crate" (the-as (pointer level) #f))) (the-as pair 0) ) - (set! (-> this part-explode) (-> *part-group-id-table* 248)) + (set! (-> this part-explode) group-mcrate-explode) (set! (-> this sound-explode) (static-sound-spec "break-crate" :group 0)) (call-parent-method this) (none) @@ -1044,7 +1044,7 @@ (the-as skeleton-group (art-group-get-by-name *level* "skel-market-sack-a" (the-as (pointer level) #f))) (the-as pair 0) ) - (set! (-> this part-explode) (-> *part-group-id-table* 251)) + (set! (-> this part-explode) group-msack-a-explode) (set! (-> this sound-explode) (static-sound-spec "break-crate" :group 0)) (call-parent-method this) (none) @@ -1062,7 +1062,7 @@ (the-as skeleton-group (art-group-get-by-name *level* "skel-market-sack-b" (the-as (pointer level) #f))) (the-as pair 0) ) - (set! (-> this part-explode) (-> *part-group-id-table* 252)) + (set! (-> this part-explode) group-msack-b-explode) (set! (-> this sound-explode) (static-sound-spec "break-veg-straw" :group 0)) (call-parent-method this) (none) @@ -1448,7 +1448,7 @@ ) ) (when (not (-> self parts-alive?)) - (initialize (-> self part) (-> *part-group-id-table* 253) self) + (initialize (-> self part) group-ctywide-fruit self) (set! (-> self parts-alive?) #t) ) (spawn-from-cspace (-> self part) (-> self node-list data 0)) @@ -1494,7 +1494,7 @@ (defmethod fruit-stand-method-30 ((this fruit-stand)) (logior! (-> this mask) (process-mask crate)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 253) this)) + (set! (-> this part) (create-launch-control group-ctywide-fruit this)) (set! (-> this parts-alive?) #t) 0 (none) diff --git a/goal_src/jak3/levels/wascity/defend/was-pre-game.gc b/goal_src/jak3/levels/wascity/defend/was-pre-game.gc index d356764d3b..5b840d2216 100644 --- a/goal_src/jak3/levels/wascity/defend/was-pre-game.gc +++ b/goal_src/jak3/levels/wascity/defend/was-pre-game.gc @@ -1706,16 +1706,16 @@ (cond ((logtest? (-> (cond ((zero? v1-0) - (-> *part-group-id-table* 510) + group-pre-bubble-birth-triangle ) ((= v1-0 1) - (-> *part-group-id-table* 511) + group-pre-bubble-birth-circle ) ((= v1-0 2) - (-> *part-group-id-table* 513) + group-pre-bubble-birth-x ) (else - (-> *part-group-id-table* 512) + group-pre-bubble-birth-square ) ) flags @@ -1740,16 +1740,16 @@ (let ((v1-13 (-> self bubble-type))) (set! (-> *part-tracker-subsampler-params-default* group) (cond ((zero? v1-13) - (-> *part-group-id-table* 510) + group-pre-bubble-birth-triangle ) ((= v1-13 1) - (-> *part-group-id-table* 511) + group-pre-bubble-birth-circle ) ((= v1-13 2) - (-> *part-group-id-table* 513) + group-pre-bubble-birth-x ) (else - (-> *part-group-id-table* 512) + group-pre-bubble-birth-square ) ) ) @@ -1780,16 +1780,16 @@ (let ((v1-32 (-> self bubble-type))) (set! (-> *part-tracker-params-default* group) (cond ((zero? v1-32) - (-> *part-group-id-table* 510) + group-pre-bubble-birth-triangle ) ((= v1-32 1) - (-> *part-group-id-table* 511) + group-pre-bubble-birth-circle ) ((= v1-32 2) - (-> *part-group-id-table* 513) + group-pre-bubble-birth-x ) (else - (-> *part-group-id-table* 512) + group-pre-bubble-birth-square ) ) ) @@ -1851,16 +1851,16 @@ (cond ((logtest? (-> (cond ((zero? v1-21) - (-> *part-group-id-table* 506) + group-pre-bubble-pop-triangle ) ((= v1-21 1) - (-> *part-group-id-table* 507) + group-pre-bubble-pop-circle ) ((= v1-21 2) - (-> *part-group-id-table* 509) + group-pre-bubble-pop-x ) (else - (-> *part-group-id-table* 508) + group-pre-bubble-pop-square ) ) flags @@ -1885,16 +1885,16 @@ (let ((v1-34 (-> self bubble-type))) (set! (-> *part-tracker-subsampler-params-default* group) (cond ((zero? v1-34) - (-> *part-group-id-table* 506) + group-pre-bubble-pop-triangle ) ((= v1-34 1) - (-> *part-group-id-table* 507) + group-pre-bubble-pop-circle ) ((= v1-34 2) - (-> *part-group-id-table* 509) + group-pre-bubble-pop-x ) (else - (-> *part-group-id-table* 508) + group-pre-bubble-pop-square ) ) ) @@ -1925,16 +1925,16 @@ (let ((v1-53 (-> self bubble-type))) (set! (-> *part-tracker-params-default* group) (cond ((zero? v1-53) - (-> *part-group-id-table* 506) + group-pre-bubble-pop-triangle ) ((= v1-53 1) - (-> *part-group-id-table* 507) + group-pre-bubble-pop-circle ) ((= v1-53 2) - (-> *part-group-id-table* 509) + group-pre-bubble-pop-x ) (else - (-> *part-group-id-table* 508) + group-pre-bubble-pop-square ) ) ) @@ -1970,16 +1970,16 @@ (cond ((logtest? (-> (cond ((zero? v1-8) - (-> *part-group-id-table* 514) + group-pre-bubble-land-triangle ) ((= v1-8 1) - (-> *part-group-id-table* 515) + group-pre-bubble-land-circle ) ((= v1-8 2) - (-> *part-group-id-table* 517) + group-pre-bubble-land-x ) (else - (-> *part-group-id-table* 516) + group-pre-bubble-land-square ) ) flags @@ -2004,16 +2004,16 @@ (let ((v1-21 (-> self bubble-type))) (set! (-> *part-tracker-subsampler-params-default* group) (cond ((zero? v1-21) - (-> *part-group-id-table* 514) + group-pre-bubble-land-triangle ) ((= v1-21 1) - (-> *part-group-id-table* 515) + group-pre-bubble-land-circle ) ((= v1-21 2) - (-> *part-group-id-table* 517) + group-pre-bubble-land-x ) (else - (-> *part-group-id-table* 516) + group-pre-bubble-land-square ) ) ) @@ -2044,16 +2044,16 @@ (let ((v1-40 (-> self bubble-type))) (set! (-> *part-tracker-params-default* group) (cond ((zero? v1-40) - (-> *part-group-id-table* 514) + group-pre-bubble-land-triangle ) ((= v1-40 1) - (-> *part-group-id-table* 515) + group-pre-bubble-land-circle ) ((= v1-40 2) - (-> *part-group-id-table* 517) + group-pre-bubble-land-x ) (else - (-> *part-group-id-table* 516) + group-pre-bubble-land-square ) ) ) @@ -2109,19 +2109,19 @@ (cond ((zero? arg2) (setup-masks (-> self draw) 0 11) - (-> *part-group-id-table* 502) + group-pre-bubble-triangle ) ((= arg2 1) (setup-masks (-> self draw) 0 14) - (-> *part-group-id-table* 503) + group-pre-bubble-circle ) ((= arg2 2) (setup-masks (-> self draw) 0 7) - (-> *part-group-id-table* 505) + group-pre-bubble-x ) (else (setup-masks (-> self draw) 0 13) - (-> *part-group-id-table* 504) + group-pre-bubble-square ) ) self diff --git a/goal_src/jak3/levels/wascity/dm-flyer.gc b/goal_src/jak3/levels/wascity/dm-flyer.gc index 060b5c7ecb..d7747b1b75 100644 --- a/goal_src/jak3/levels/wascity/dm-flyer.gc +++ b/goal_src/jak3/levels/wascity/dm-flyer.gc @@ -196,28 +196,33 @@ ((< (* f0-6 f0-6) (vector-vector-distance-squared (-> self root trans) (target-pos 0))) (forward-up->inv-matrix gp-0 (-> self pre-move-transv) *up-vector*) (vector-copy! (-> gp-0 trans) (-> self root trans)) - (if (logtest? (-> *part-group-id-table* 539 flags) (sp-group-flag sp13)) + (if (logtest? (-> group-maker-grenade-explosion flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 539) + :group group-maker-grenade-explosion :mat-joint gp-0 ) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 539) :mat-joint gp-0) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-maker-grenade-explosion :mat-joint gp-0) ) (sound-play "ball-explode") ) (else (quaternion->matrix gp-0 (-> *target* control quat)) (vector-copy! (-> gp-0 trans) (-> *target* control trans)) - (if (logtest? (-> *part-group-id-table* 541 flags) (sp-group-flag sp13)) + (if (logtest? (-> group-maker-grenade-explosion-bottom flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 541) + :group group-maker-grenade-explosion-bottom + :mat-joint gp-0 + ) + (part-tracker-spawn + part-tracker + :to *entity-pool* + :group group-maker-grenade-explosion-bottom :mat-joint gp-0 ) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 541) :mat-joint gp-0) ) (sound-play "ball-hit-turret") ) @@ -286,23 +291,23 @@ (cond ((-> this hit-actor?) (cond - ((logtest? (-> *part-group-id-table* 102 flags) (sp-group-flag sp13)) + ((logtest? (-> group-gun-yellow-shot-hit-object flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> this root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 102)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-gun-yellow-shot-hit-object) ) (else (vector-copy! (-> *launch-matrix* trans) (-> this root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 102)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-gun-yellow-shot-hit-object) ) ) ) - ((logtest? (-> *part-group-id-table* 101 flags) (sp-group-flag sp13)) + ((logtest? (-> group-gun-yellow-shot-hit flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> this root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 101)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-gun-yellow-shot-hit) ) (else (vector-copy! (-> *launch-matrix* trans) (-> this root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 101)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-gun-yellow-shot-hit) ) ) ) @@ -534,7 +539,7 @@ ) ) (set! (-> this desired-target) (process->handle *target*)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 537) this)) + (set! (-> this part) (create-launch-control group-dm-flyer-missile this)) (let ((s3-0 (as-type (handle->process (-> this desired-target)) process-focusable))) (if s3-0 (vector+float*! diff --git a/goal_src/jak3/levels/wascity/leaper/was-leaper-race.gc b/goal_src/jak3/levels/wascity/leaper/was-leaper-race.gc index 436a3da704..2b06b16733 100644 --- a/goal_src/jak3/levels/wascity/leaper/was-leaper-race.gc +++ b/goal_src/jak3/levels/wascity/leaper/was-leaper-race.gc @@ -356,19 +356,14 @@ :event (behavior ((proc process) (argc int) (message symbol) (block event-message-block)) (case message (('hit) - (if (logtest? (-> *part-group-id-table* 521 flags) (sp-group-flag sp13)) + (if (logtest? (-> group-leaper-ring-explode flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 521) - :mat-joint (-> self mat) - ) - (part-tracker-spawn - part-tracker - :to *entity-pool* - :group (-> *part-group-id-table* 521) + :group group-leaper-ring-explode :mat-joint (-> self mat) ) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-leaper-ring-explode :mat-joint (-> self mat)) ) (update self) (if (not (-> self active?)) @@ -402,26 +397,26 @@ (cond ((-> self is-final?) (sound-play "ring-final") - (if (logtest? (-> *part-group-id-table* 523 flags) (sp-group-flag sp13)) + (if (logtest? (-> group-player-leaper-ring-explode-final flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 523) + :group group-player-leaper-ring-explode-final :mat-joint (-> self mat) ) (part-tracker-spawn part-tracker :to *entity-pool* - :group (-> *part-group-id-table* 523) + :group group-player-leaper-ring-explode-final :mat-joint (-> self mat) ) ) ) - ((begin (sound-play "ring-pass") (logtest? (-> *part-group-id-table* 522 flags) (sp-group-flag sp13))) + ((begin (sound-play "ring-pass") (logtest? (-> group-player-leaper-ring-explode flags) (sp-group-flag sp13))) (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 522) + :group group-player-leaper-ring-explode :mat-joint (-> self mat) ) ) @@ -429,7 +424,7 @@ (part-tracker-spawn part-tracker :to *entity-pool* - :group (-> *part-group-id-table* 522) + :group group-player-leaper-ring-explode :mat-joint (-> self mat) ) ) @@ -576,11 +571,11 @@ (quaternion->matrix (-> this mat) (-> this root quat)) (vector-copy! (-> this mat trans) (-> this root trans)) (set! (-> this taskman) (the-as handle #f)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 518) this)) - (set! (-> this player-part) (create-launch-control (-> *part-group-id-table* 519) this)) + (set! (-> this part) (create-launch-control group-leaper-ring this)) + (set! (-> this player-part) (create-launch-control group-player-leaper-ring this)) (set! (-> this player-ring?) #f) (set! (-> this is-final?) #f) - (set! (-> this part-final) (create-launch-control (-> *part-group-id-table* 520) this)) + (set! (-> this part-final) (create-launch-control group-player-leaper-ring-final this)) (go (method-of-object this idle)) ) diff --git a/goal_src/jak3/levels/wascity/maker-projectile.gc b/goal_src/jak3/levels/wascity/maker-projectile.gc index 591276bf88..52af318270 100644 --- a/goal_src/jak3/levels/wascity/maker-projectile.gc +++ b/goal_src/jak3/levels/wascity/maker-projectile.gc @@ -726,28 +726,33 @@ ((< (* f0-6 f0-6) (vector-vector-distance-squared (-> self root trans) (target-pos 0))) (forward-up->inv-matrix gp-0 (-> self pre-move-transv) *up-vector*) (vector-copy! (-> gp-0 trans) (-> self root trans)) - (if (logtest? (-> *part-group-id-table* 539 flags) (sp-group-flag sp13)) + (if (logtest? (-> group-maker-grenade-explosion flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 539) + :group group-maker-grenade-explosion :mat-joint gp-0 ) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 539) :mat-joint gp-0) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-maker-grenade-explosion :mat-joint gp-0) ) (sound-play "ball-explode") ) (else (quaternion->matrix gp-0 (-> *target* control quat)) (vector-copy! (-> gp-0 trans) (-> *target* control trans)) - (if (logtest? (-> *part-group-id-table* 541 flags) (sp-group-flag sp13)) + (if (logtest? (-> group-maker-grenade-explosion-bottom flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 541) + :group group-maker-grenade-explosion-bottom + :mat-joint gp-0 + ) + (part-tracker-spawn + part-tracker + :to *entity-pool* + :group group-maker-grenade-explosion-bottom :mat-joint gp-0 ) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 541) :mat-joint gp-0) ) (sound-play "ball-hit-turret") ) @@ -853,7 +858,7 @@ (set! (-> this draw lod-set lod 0 dist) 696320.0) (set! (-> this draw lod-set lod 1 dist) 7372800.0) (set! (-> this draw lod-set lod 2 dist) 7372800.0) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 550) this)) + (set! (-> this part) (create-launch-control group-maker-grenade-glow this)) (set! (-> this blast-radius) 122880.0) (set! (-> this max-speed) 450560.0) (set! (-> this timeout) (seconds 12)) diff --git a/goal_src/jak3/levels/wascity/wasall-obs.gc b/goal_src/jak3/levels/wascity/wasall-obs.gc index b1fa708cd9..3624dd8926 100644 --- a/goal_src/jak3/levels/wascity/wasall-obs.gc +++ b/goal_src/jak3/levels/wascity/wasall-obs.gc @@ -412,13 +412,13 @@ (set-vector! gp-0 (-> s4-0 trans x) (get-base-height *ocean-map*) (-> s4-0 trans z) 1.0) ) (cond - ((logtest? (-> *part-group-id-table* 409 flags) (sp-group-flag sp13)) + ((logtest? (-> group-tentacle-attack flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) gp-0) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 409)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-tentacle-attack) ) (else (vector-copy! (-> *launch-matrix* trans) gp-0) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 409)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-tentacle-attack) ) ) ) @@ -480,7 +480,7 @@ (the-as skeleton-group (art-group-get-by-name *level* "skel-tentacle" (the-as (pointer level) #f))) (the-as pair 0) ) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 408) this)) + (set! (-> this part) (create-launch-control group-tentacle-warn this)) (set! (-> this nav-mesh) #f) (set! (-> this sound-id-loop) (new-sound-id)) (set! (-> this sound-id-attack) (new-sound-id)) diff --git a/goal_src/jak3/levels/wascity/wascity-turret.gc b/goal_src/jak3/levels/wascity/wascity-turret.gc index 1ba779ffda..31a5b4ee87 100644 --- a/goal_src/jak3/levels/wascity/wascity-turret.gc +++ b/goal_src/jak3/levels/wascity/wascity-turret.gc @@ -173,13 +173,13 @@ (vector-copy! v1-12 (-> this root trans)) (+! (-> v1-12 y) 8192.0) (cond - ((logtest? (-> *part-group-id-table* 542 flags) (sp-group-flag sp13)) + ((logtest? (-> group-wc-turret-explode flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) v1-12) - (part-tracker-spawn part-tracker-subsampler :to this :group (-> *part-group-id-table* 542)) + (part-tracker-spawn part-tracker-subsampler :to this :group group-wc-turret-explode) ) (else (vector-copy! (-> *launch-matrix* trans) v1-12) - (part-tracker-spawn part-tracker :to this :group (-> *part-group-id-table* 542)) + (part-tracker-spawn part-tracker :to this :group group-wc-turret-explode) ) ) ) @@ -326,8 +326,8 @@ (set! (-> this info) (new 'static 'target-turret-info :idle-anim 4 :camera-joint 3)) (set! (-> this info explode-sg) #f) (set! (-> this info explode-params) #f) - (set! (-> this reticle-part) (create-launch-control (-> *part-group-id-table* 548) this)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 549) this)) + (set! (-> this reticle-part) (create-launch-control group-turret-reticle this)) + (set! (-> this part) (create-launch-control group-turret-skeet this)) 0 (none) ) diff --git a/goal_src/jak3/levels/wascity/wasdef-manager.gc b/goal_src/jak3/levels/wascity/wasdef-manager.gc index 0a422081f5..90c5f51d4b 100644 --- a/goal_src/jak3/levels/wascity/wasdef-manager.gc +++ b/goal_src/jak3/levels/wascity/wasdef-manager.gc @@ -1152,13 +1152,13 @@ ) ) (cond - ((logtest? (-> *part-group-id-table* 538 flags) (sp-group-flag sp13)) + ((logtest? (-> group-maker-explosion flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> (the-as attack-info gp-0) trans)) - (part-tracker-spawn part-tracker-subsampler :to self :group (-> *part-group-id-table* 538)) + (part-tracker-spawn part-tracker-subsampler :to self :group group-maker-explosion) ) (else (vector-copy! (-> *launch-matrix* trans) (-> (the-as attack-info gp-0) trans)) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 538)) + (part-tracker-spawn part-tracker :to self :group group-maker-explosion) ) ) ) @@ -1599,18 +1599,13 @@ ) (set! (-> s4-2 y) (get-base-height *ocean-map*)) (cond - ((logtest? (-> *part-group-id-table* 535 flags) (sp-group-flag sp13)) + ((logtest? (-> group-dm-robot-ripple flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) s4-2) - (part-tracker-spawn - part-tracker-subsampler - :to self - :group (-> *part-group-id-table* 535) - :duration (seconds 1) - ) + (part-tracker-spawn part-tracker-subsampler :to self :group group-dm-robot-ripple :duration (seconds 1)) ) (else (vector-copy! (-> *launch-matrix* trans) s4-2) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 535) :duration (seconds 1)) + (part-tracker-spawn part-tracker :to self :group group-dm-robot-ripple :duration (seconds 1)) ) ) ) @@ -1626,18 +1621,13 @@ ) (set! (-> s4-5 y) (get-base-height *ocean-map*)) (cond - ((logtest? (-> *part-group-id-table* 535 flags) (sp-group-flag sp13)) + ((logtest? (-> group-dm-robot-ripple flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) s4-5) - (part-tracker-spawn - part-tracker-subsampler - :to self - :group (-> *part-group-id-table* 535) - :duration (seconds 1) - ) + (part-tracker-spawn part-tracker-subsampler :to self :group group-dm-robot-ripple :duration (seconds 1)) ) (else (vector-copy! (-> *launch-matrix* trans) s4-5) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 535) :duration (seconds 1)) + (part-tracker-spawn part-tracker :to self :group group-dm-robot-ripple :duration (seconds 1)) ) ) ) @@ -1789,18 +1779,13 @@ (set! (-> self maker-sound-playing?) #t) ) (cond - ((logtest? (-> *part-group-id-table* 534 flags) (sp-group-flag sp13)) + ((logtest? (-> group-dm-robot-ambush flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn - part-tracker-subsampler - :to self - :group (-> *part-group-id-table* 534) - :duration (seconds 1) - ) + (part-tracker-spawn part-tracker-subsampler :to self :group group-dm-robot-ambush :duration (seconds 1)) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 534) :duration (seconds 1)) + (part-tracker-spawn part-tracker :to self :group group-dm-robot-ambush :duration (seconds 1)) ) ) (sound-play "dm-robot-appear") @@ -1837,18 +1822,13 @@ (set! (-> s4-0 y) (get-base-height *ocean-map*)) (sound-play "ball-splash") (cond - ((logtest? (-> *part-group-id-table* 536 flags) (sp-group-flag sp13)) + ((logtest? (-> group-dm-robot-splash flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) s4-0) - (part-tracker-spawn - part-tracker-subsampler - :to self - :group (-> *part-group-id-table* 536) - :duration (seconds 5) - ) + (part-tracker-spawn part-tracker-subsampler :to self :group group-dm-robot-splash :duration (seconds 5)) ) (else (vector-copy! (-> *launch-matrix* trans) s4-0) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 536) :duration (seconds 5)) + (part-tracker-spawn part-tracker :to self :group group-dm-robot-splash :duration (seconds 5)) ) ) ) @@ -1946,18 +1926,13 @@ (v1-7 (vector<-cspace! (new 'stack-no-clear 'vector) a1-1)) ) (cond - ((logtest? (-> *part-group-id-table* 545 flags) (sp-group-flag sp13)) + ((logtest? (-> group-dm-final-explode flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) v1-7) - (part-tracker-spawn - part-tracker-subsampler - :to self - :group (-> *part-group-id-table* 545) - :duration (seconds 5) - ) + (part-tracker-spawn part-tracker-subsampler :to self :group group-dm-final-explode :duration (seconds 5)) ) (else (vector-copy! (-> *launch-matrix* trans) v1-7) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 545) :duration (seconds 5)) + (part-tracker-spawn part-tracker :to self :group group-dm-final-explode :duration (seconds 5)) ) ) ) diff --git a/goal_src/jak3/levels/wascity/wasgun-manager.gc b/goal_src/jak3/levels/wascity/wasgun-manager.gc index fb59f4edc9..717960944e 100644 --- a/goal_src/jak3/levels/wascity/wasgun-manager.gc +++ b/goal_src/jak3/levels/wascity/wasgun-manager.gc @@ -1224,13 +1224,13 @@ (sound-play "skeet-explode") (set! (-> self disappear) #t) (cond - ((logtest? (-> *part-group-id-table* 546 flags) (sp-group-flag sp13)) + ((logtest? (-> group-wascity-turret-shot-hit flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 546)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-wascity-turret-shot-hit) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 546)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-wascity-turret-shot-hit) ) ) (go-virtual explode) @@ -1259,18 +1259,13 @@ (suspend) ) (cond - ((logtest? (-> *part-group-id-table* 533 flags) (sp-group-flag sp13)) + ((logtest? (-> group-skeet-splash flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn - part-tracker-subsampler - :to self - :group (-> *part-group-id-table* 533) - :duration (seconds 5) - ) + (part-tracker-spawn part-tracker-subsampler :to self :group group-skeet-splash :duration (seconds 5)) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 533) :duration (seconds 5)) + (part-tracker-spawn part-tracker :to self :group group-skeet-splash :duration (seconds 5)) ) ) (sound-play "skeet-splash") @@ -1651,18 +1646,13 @@ ;; WARN: Return type mismatch process vs skeet. (defun spawn-skeet ((arg0 task-manager-wascity-gungame) (arg1 skeet-mode) (arg2 vector) (arg3 float) (arg4 float)) (cond - ((logtest? (-> *part-group-id-table* 533 flags) (sp-group-flag sp13)) + ((logtest? (-> group-skeet-splash flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) arg2) - (part-tracker-spawn - part-tracker-subsampler - :to arg0 - :group (-> *part-group-id-table* 533) - :duration (seconds 5) - ) + (part-tracker-spawn part-tracker-subsampler :to arg0 :group group-skeet-splash :duration (seconds 5)) ) (else (vector-copy! (-> *launch-matrix* trans) arg2) - (part-tracker-spawn part-tracker :to arg0 :group (-> *part-group-id-table* 533) :duration (seconds 5)) + (part-tracker-spawn part-tracker :to arg0 :group group-skeet-splash :duration (seconds 5)) ) ) (let ((s1-2 (the-as process #f))) diff --git a/goal_src/jak3/levels/wascity/wasstadium/nst-gas.gc b/goal_src/jak3/levels/wascity/wasstadium/nst-gas.gc index 8319aecf09..c3abce831b 100644 --- a/goal_src/jak3/levels/wascity/wasstadium/nst-gas.gc +++ b/goal_src/jak3/levels/wascity/wasstadium/nst-gas.gc @@ -338,7 +338,7 @@ (let ((t9-0 (method-of-type task-manager init!))) (t9-0 this) ) - (let ((a0-2 (-> *part-group-id-table* 640))) + (let ((a0-2 group-nest-fog)) (if (nonzero? a0-2) (set! (-> this part) (create-launch-control a0-2 this)) ) diff --git a/goal_src/jak3/levels/wascity/wasstadium/wasstada-obs.gc b/goal_src/jak3/levels/wascity/wasstadium/wasstada-obs.gc index 8c57448516..e1bf811682 100644 --- a/goal_src/jak3/levels/wascity/wasstadium/wasstada-obs.gc +++ b/goal_src/jak3/levels/wascity/wasstadium/wasstada-obs.gc @@ -740,7 +740,7 @@ (set! (-> this path) (new 'process 'path-control this 'path 0.0 arg0 #f)) (logior! (-> this path flags) (path-control-flag display draw-line draw-point draw-text)) (logclear! (-> this mask) (process-mask actor-pause)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 488) this)) + (set! (-> this part) (create-launch-control group-wasstada-lava-sploop-box this)) (set! (-> this dest-pos) (the float (+ (shr (-> this sync period) 1) -1))) (set! (-> this current-pos) (-> this dest-pos)) (set! (-> this speed) 0.0) diff --git a/goal_src/jak3/levels/wascity/wasstadium/wasstada-part.gc b/goal_src/jak3/levels/wascity/wasstadium/wasstada-part.gc index 0b00982341..3916126816 100644 --- a/goal_src/jak3/levels/wascity/wasstadium/wasstada-part.gc +++ b/goal_src/jak3/levels/wascity/wasstadium/wasstada-part.gc @@ -2092,7 +2092,7 @@ (set! (-> this root) (new 'process 'trsqv)) (process-drawable-from-entity! this arg0) (logclear! (-> this mask) (process-mask actor-pause)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 498) this)) + (set! (-> this part) (create-launch-control group-wasstada-crowd-wedge this)) (set! (-> this hola) 0.0) (go (method-of-object this idle)) ) diff --git a/goal_src/jak3/levels/wascity/wasstadium/wasstadb-obs.gc b/goal_src/jak3/levels/wascity/wasstadium/wasstadb-obs.gc index 482d8eecd7..a6f5e355ac 100644 --- a/goal_src/jak3/levels/wascity/wasstadium/wasstadb-obs.gc +++ b/goal_src/jak3/levels/wascity/wasstadium/wasstadb-obs.gc @@ -390,13 +390,13 @@ (case message (('touch 'attack) (cond - ((logtest? (-> *part-group-id-table* 500 flags) (sp-group-flag sp13)) + ((logtest? (-> group-arena-token-pickup flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 500)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-arena-token-pickup) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 500)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-arena-token-pickup) ) ) (sound-play "arena-token") @@ -430,13 +430,13 @@ (set! (-> self shadow-h) (ppointer->handle (cond - ((logtest? (-> *part-group-id-table* 501 flags) (sp-group-flag sp13)) + ((logtest? (-> group-arena-token-shadow flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self gspot)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 501)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-arena-token-shadow) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self gspot)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 501)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-arena-token-shadow) ) ) ) @@ -553,7 +553,7 @@ (the-as skeleton-group (art-group-get-by-name *level* "skel-arena-token" (the-as (pointer level) #f))) (the-as pair 0) ) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 499) this)) + (set! (-> this part) (create-launch-control group-arena-token this)) (set! (-> this trans-y) (-> this root trans y)) (set! (-> this offset) (rand-vu-float-range 0.0 4.0)) (probe-background this) diff --git a/goal_src/jak3/levels/wascity/wasstadium/wasstadc-obs.gc b/goal_src/jak3/levels/wascity/wasstadium/wasstadc-obs.gc index cfa856cc2c..74cce5f5e6 100644 --- a/goal_src/jak3/levels/wascity/wasstadium/wasstadc-obs.gc +++ b/goal_src/jak3/levels/wascity/wasstadium/wasstadc-obs.gc @@ -335,7 +335,7 @@ (ja-post) (logclear! (-> self mask) (process-mask actor-pause)) (set! (-> self crate-h) (the-as handle #f)) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 488) self)) + (set! (-> self part) (create-launch-control group-wasstada-lava-sploop-box self)) (set! (-> self draw light-index) (the-as uint 10)) (logior! (-> self mask) (process-mask platform)) (go-virtual active) @@ -836,7 +836,7 @@ (set! (-> self attack-ang v1-28) (* 8192.0 (the float v1-28))) ) (set! (-> self cur-point) 0) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 487) self)) + (set! (-> self part) (create-launch-control group-wasstada-lava-sploop self)) (set! (-> self translate) arg2) (dotimes (s4-1 4) (set! (-> self box s4-1) @@ -1710,7 +1710,7 @@ (set! (-> self attack-ang v1-28) (* 8192.0 (the float v1-28))) ) (set! (-> self cur-point) 0) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 487) self)) + (set! (-> self part) (create-launch-control group-wasstada-lava-sploop self)) (set! (-> self translate) arg2) (dotimes (s5-1 4) (let ((s4-2 (get-process *default-dead-pool* wstd-fight-plat-smlplat #x4000 1))) diff --git a/goal_src/jak3/pc/debug/anim-tester-x.gc b/goal_src/jak3/pc/debug/anim-tester-x.gc index 918ec6bc26..57005a2f9a 100644 --- a/goal_src/jak3/pc/debug/anim-tester-x.gc +++ b/goal_src/jak3/pc/debug/anim-tester-x.gc @@ -336,11 +336,13 @@ (false! (-> self draw shadow)) (false! (-> self draw shadow-ctrl)) (false! (-> self draw ripple)) - (set! (-> self draw level-index) (the uint 2)) (set! (-> self node-list) (setup-cspace-and-add (-> self draw) (-> self draw jgeo) 'debug)) (if (not (-> self skel effect)) (set! (-> self skel effect) (new 'process 'effect-control self))) - (let ((skel (the skeleton-group (art-group-get-by-name *level* (string-format "skel-~S" (-> self cur-art-group name)) (the (pointer level) #f))))) + (let* ((lev (new 'stack-no-clear 'array 'level 1)) + (skel (the skeleton-group (art-group-get-by-name *level* (string-format "skel-~S" (-> self cur-art-group name)) lev)))) (when skel + (set! (-> self level) (if (name= (-> lev 0 name) 'default) (-> *level* level-default) (level-get *level* (-> lev 0 name)))) + (set! (-> self draw level-index) (-> lev 0 index)) (logior! (-> self draw global-effect) (-> skel global-effects)) (when (-> skel clothing) (set! (-> self draw cloth-instances) (new 'process 'boxed-array cloth-on-skeleton (-> skel clothing length))) diff --git a/test/decompiler/reference/jak1/decompiler-macros.gc b/test/decompiler/reference/jak1/decompiler-macros.gc index ec6b744bb0..2e55a9bd5c 100644 --- a/test/decompiler/reference/jak1/decompiler-macros.gc +++ b/test/decompiler/reference/jak1/decompiler-macros.gc @@ -713,7 +713,7 @@ (defmacro defpartgroup (name &key id &key parts &key (duration 3000) &key (linger-duration 1500) &key (flags ()) &key bounds) "define a new part group. defines a constant with the name of the group and the value of the group's ID" `(begin - (defconstant ,name ,id) + ; (defconstant ,name ,id) (set! (-> *part-group-id-table* ,id) (new 'static 'sparticle-launch-group :duration ,duration diff --git a/test/decompiler/reference/jak1/engine/common-obs/collectables_REF.gc b/test/decompiler/reference/jak1/engine/common-obs/collectables_REF.gc index dcb126b257..64114798fe 100644 --- a/test/decompiler/reference/jak1/engine/common-obs/collectables_REF.gc +++ b/test/decompiler/reference/jak1/engine/common-obs/collectables_REF.gc @@ -187,36 +187,36 @@ (set! (-> this sound-name) #f) (case arg0 (((pickup-type eco-yellow)) - (set! (-> this eco-effect) (-> *part-group-id-table* 56)) - (set! (-> this collect-effect) (-> *part-group-id-table* 68)) - (set! (-> this collect-effect2) (-> *part-group-id-table* 57)) + (set! (-> this eco-effect) group-eco-yellow) + (set! (-> this collect-effect) group-yellow-collect) + (set! (-> this collect-effect2) group-eco-yellow-collect) (set! (-> this collect-effect-time) (seconds 0.5)) (set! (-> this sound-name) (static-sound-spec "yel-eco-idle" :fo-max 15)) ) (((pickup-type eco-red)) - (set! (-> this eco-effect) (-> *part-group-id-table* 48)) - (set! (-> this collect-effect) (-> *part-group-id-table* 69)) - (set! (-> this collect-effect2) (-> *part-group-id-table* 49)) + (set! (-> this eco-effect) group-eco-red) + (set! (-> this collect-effect) group-red-collect) + (set! (-> this collect-effect2) group-eco-red-collect) (set! (-> this collect-effect-time) (seconds 0.5)) (set! (-> this sound-name) (static-sound-spec "red-eco-idle" :fo-max 15)) ) (((pickup-type eco-blue)) - (set! (-> this eco-effect) (-> *part-group-id-table* 42)) - (set! (-> this collect-effect) (-> *part-group-id-table* 67)) - (set! (-> this collect-effect2) (-> *part-group-id-table* 43)) + (set! (-> this eco-effect) group-eco-blue) + (set! (-> this collect-effect) group-blue-collect) + (set! (-> this collect-effect2) group-eco-blue-collect) (set! (-> this collect-effect-time) (seconds 0.5)) (set! (-> this sound-name) (static-sound-spec "blue-eco-idle" :fo-max 15)) ) (((pickup-type eco-green)) - (set! (-> this eco-effect) (-> *part-group-id-table* 58)) - (set! (-> this collect-effect) (-> *part-group-id-table* 66)) - (set! (-> this collect-effect2) (-> *part-group-id-table* 61)) + (set! (-> this eco-effect) group-eco-green) + (set! (-> this collect-effect) group-green-collect) + (set! (-> this collect-effect2) group-eco-green-collect) (set! (-> this collect-effect-time) (seconds 0.5)) (set! (-> this sound-name) (static-sound-spec "green-eco-idle" :fo-max 15)) ) (((pickup-type eco-pill)) - (set! (-> this eco-effect) (-> *part-group-id-table* 59)) - (set! (-> this collect-effect2) (-> *part-group-id-table* 60)) + (set! (-> this eco-effect) group-eco-green-pill) + (set! (-> this collect-effect2) group-eco-green-pill-collect) (set! (-> this collect-effect-time) (seconds 0.5)) ) ) @@ -2018,7 +2018,7 @@ (initialize-skeleton this *fuel-cell-sg* '()) (set! (-> this base quad) (-> this root trans quad)) (set! (-> this old-base quad) (-> this root trans quad)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 63) this)) + (set! (-> this part) (create-launch-control group-fuel-cell-starburst this)) (set! (-> this sound) (new 'process 'ambient-sound (static-sound-spec "powercell-idle" :fo-max 40) (-> this root trans)) ) @@ -2341,7 +2341,7 @@ (set! (-> this notify-parent) #f) (set! (-> this fact) (new 'process 'fact-info this (pickup-type buzzer) (the-as float 0.0))) (initialize-skeleton this *buzzer-sg* '()) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 65) this)) + (set! (-> this part) (create-launch-control group-buzzer-effect this)) (set! (-> this sound) (new 'process 'ambient-sound (static-sound-spec "buzzer" :fo-max 40) (-> this root trans)) ) @@ -2856,27 +2856,27 @@ (set! (-> this block-func) (the-as (function vent symbol) true-func)) (case (-> this fact pickup-type) (((pickup-type eco-blue)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 44) this)) - (set! (-> this collect-effect) (-> *part-group-id-table* 67)) - (set! (-> this collect-effect2) (-> *part-group-id-table* 43)) + (set! (-> this part) (create-launch-control group-part-vent-blue-active this)) + (set! (-> this collect-effect) group-blue-collect) + (set! (-> this collect-effect2) group-eco-blue-collect) (set! (-> this sound) (new 'process 'ambient-sound 'eco-bg-blue (-> this root trans))) ) (((pickup-type eco-red)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 50) this)) - (set! (-> this collect-effect) (-> *part-group-id-table* 69)) - (set! (-> this collect-effect2) (-> *part-group-id-table* 49)) + (set! (-> this part) (create-launch-control group-part-vent-red-active this)) + (set! (-> this collect-effect) group-red-collect) + (set! (-> this collect-effect2) group-eco-red-collect) (set! (-> this sound) (new 'process 'ambient-sound 'eco-bg-red (-> this root trans))) ) (((pickup-type eco-green)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 62) this)) - (set! (-> this collect-effect) (-> *part-group-id-table* 66)) - (set! (-> this collect-effect2) (-> *part-group-id-table* 61)) + (set! (-> this part) (create-launch-control group-part-vent-green-active this)) + (set! (-> this collect-effect) group-green-collect) + (set! (-> this collect-effect2) group-eco-green-collect) (set! (-> this sound) (new 'process 'ambient-sound 'eco-bg-green (-> this root trans))) ) (((pickup-type eco-yellow)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 52) this)) - (set! (-> this collect-effect) (-> *part-group-id-table* 68)) - (set! (-> this collect-effect2) (-> *part-group-id-table* 57)) + (set! (-> this part) (create-launch-control group-part-vent-yellow-active this)) + (set! (-> this collect-effect) group-yellow-collect) + (set! (-> this collect-effect2) group-eco-yellow-collect) (set! (-> this sound) (new 'process 'ambient-sound 'eco-bg-yellow (-> this root trans))) ) ) diff --git a/test/decompiler/reference/jak1/engine/common-obs/crates_REF.gc b/test/decompiler/reference/jak1/engine/common-obs/crates_REF.gc index d9abae8244..a529985608 100644 --- a/test/decompiler/reference/jak1/engine/common-obs/crates_REF.gc +++ b/test/decompiler/reference/jak1/engine/common-obs/crates_REF.gc @@ -892,7 +892,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 73) + group-dark-eco-box-explosion -1 #f #f @@ -905,7 +905,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 72) + group-crate-steel-explode -1 #f #f @@ -918,7 +918,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 71) + group-crate-explode -1 #f #f @@ -1302,7 +1302,7 @@ (let ((t9-0 (method-of-type crate art-init))) (t9-0 this) ) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 74) this)) + (set! (-> this part) (create-launch-control group-buzzer-crate this)) (set! (-> this sound) (new 'process 'ambient-sound (static-sound-spec "buzzer" :pitch-mod -762 :fo-max 40) (-> this root trans)) ) diff --git a/test/decompiler/reference/jak1/engine/common-obs/dark-eco-pool_REF.gc b/test/decompiler/reference/jak1/engine/common-obs/dark-eco-pool_REF.gc index 3f7893e40a..80e192a126 100644 --- a/test/decompiler/reference/jak1/engine/common-obs/dark-eco-pool_REF.gc +++ b/test/decompiler/reference/jak1/engine/common-obs/dark-eco-pool_REF.gc @@ -376,7 +376,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 445) + group-dark-eco-pool-nasty -1 #f #f diff --git a/test/decompiler/reference/jak1/engine/common-obs/generic-obs_REF.gc b/test/decompiler/reference/jak1/engine/common-obs/generic-obs_REF.gc index b44b3042f4..9891b3a92c 100644 --- a/test/decompiler/reference/jak1/engine/common-obs/generic-obs_REF.gc +++ b/test/decompiler/reference/jak1/engine/common-obs/generic-obs_REF.gc @@ -2081,13 +2081,13 @@ (set! (-> this part) (create-launch-control (cond ((= v1-18 'beach) - (-> *part-group-id-table* 37) + group-beach-launcher ) ((= v1-18 'swamp) - (-> *part-group-id-table* 39) + group-swamp-launcher ) (else - (-> *part-group-id-table* 38) + group-jungle-launcher ) ) this @@ -2146,13 +2146,13 @@ (set! (-> self part) (create-launch-control (cond ((= v1-23 'beach) - (-> *part-group-id-table* 37) + group-beach-launcher ) ((= v1-23 'swamp) - (-> *part-group-id-table* 39) + group-swamp-launcher ) (else - (-> *part-group-id-table* 38) + group-jungle-launcher ) ) self diff --git a/test/decompiler/reference/jak1/engine/common-obs/plat-eco_REF.gc b/test/decompiler/reference/jak1/engine/common-obs/plat-eco_REF.gc index b50a09a487..ae97e9d432 100644 --- a/test/decompiler/reference/jak1/engine/common-obs/plat-eco_REF.gc +++ b/test/decompiler/reference/jak1/engine/common-obs/plat-eco_REF.gc @@ -278,7 +278,7 @@ ) (logclear! (-> this mask) (process-mask actor-pause)) (update-transforms! (-> this root)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 107) this)) + (set! (-> this part) (create-launch-control group-standard-plat this)) (set! (-> this path) (new 'process 'curve-control this 'path -1000000000.0)) (logior! (-> this path flags) (path-control-flag display draw-line draw-point draw-text)) (set! (-> this fact) diff --git a/test/decompiler/reference/jak1/engine/common-obs/plat_REF.gc b/test/decompiler/reference/jak1/engine/common-obs/plat_REF.gc index 7c59d36ab4..0d690053ce 100644 --- a/test/decompiler/reference/jak1/engine/common-obs/plat_REF.gc +++ b/test/decompiler/reference/jak1/engine/common-obs/plat_REF.gc @@ -179,7 +179,7 @@ ) 'maincave ) - (let ((v0-0 (create-launch-control (-> *part-group-id-table* 107) this))) + (let ((v0-0 (create-launch-control group-standard-plat this))) (set! (-> this part) v0-0) v0-0 ) diff --git a/test/decompiler/reference/jak1/engine/common-obs/water_REF.gc b/test/decompiler/reference/jak1/engine/common-obs/water_REF.gc index 742cb6aa1c..e7a5e78629 100644 --- a/test/decompiler/reference/jak1/engine/common-obs/water_REF.gc +++ b/test/decompiler/reference/jak1/engine/common-obs/water_REF.gc @@ -1164,8 +1164,8 @@ part-tracker :init part-tracker-init (if (zero? arg2) - (-> *part-group-id-table* 41) - (-> *part-group-id-table* 40) + group-part-water-splash-small + group-part-water-splash ) -1 part-water-splash-callback diff --git a/test/decompiler/reference/jak1/engine/debug/part-tester_REF.gc b/test/decompiler/reference/jak1/engine/debug/part-tester_REF.gc index 3a9f124920..97c7a0ad18 100644 --- a/test/decompiler/reference/jak1/engine/debug/part-tester_REF.gc +++ b/test/decompiler/reference/jak1/engine/debug/part-tester_REF.gc @@ -59,7 +59,7 @@ (-> self root trans) (the-as rgba (new 'static 'rgba :r #xff :g #xff :b #xff :a #x80)) ) - (let ((gp-1 (-> *part-group-id-table* 105))) + (let ((gp-1 group-part-tester)) (let ((s5-1 (-> self root trans))) (when (!= gp-1 (-> self old-group)) (when (nonzero? (-> self part)) diff --git a/test/decompiler/reference/jak1/engine/game/game-save_REF.gc b/test/decompiler/reference/jak1/engine/game/game-save_REF.gc index 0b2ca30feb..31884c80a5 100644 --- a/test/decompiler/reference/jak1/engine/game/game-save_REF.gc +++ b/test/decompiler/reference/jak1/engine/game/game-save_REF.gc @@ -1330,7 +1330,7 @@ auto-save-post (set! (-> self result) (mc-status-code ok)) (set! (-> self save) #f) (set! (-> self notify) (process->handle (the-as process notify-proc))) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 656) self)) + (set! (-> self part) (create-launch-control group-part-save-icon self)) (set! (-> self part matrix) (sprite-allocate-user-hvdf)) (cond ((= desired-mode 'auto-save) diff --git a/test/decompiler/reference/jak1/engine/game/projectiles_REF.gc b/test/decompiler/reference/jak1/engine/game/projectiles_REF.gc index 1ec576b1ee..223333c74a 100644 --- a/test/decompiler/reference/jak1/engine/game/projectiles_REF.gc +++ b/test/decompiler/reference/jak1/engine/game/projectiles_REF.gc @@ -778,7 +778,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 104) + group-part-yellow-eco-fireball-hit -1 #f #f @@ -802,7 +802,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 104) + group-part-yellow-eco-fireball-hit -1 #f #f @@ -962,12 +962,22 @@ (sound-play "yellow-fire") (set! (-> this sound-id) (sound-play "yellow-buzz")) (if (not (logtest? (-> this options) 416)) - (process-spawn part-tracker :init part-tracker-init (-> *part-group-id-table* 103) -1 #f #f #f s5-0 :to this) + (process-spawn + part-tracker + :init part-tracker-init + group-part-yellow-eco-fireball-launcher + -1 + #f + #f + #f + s5-0 + :to this + ) ) (set! (-> *part-id-table* 350 init-specs 2 initial-valuef) f30-0) ) ) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 102) this)) + (set! (-> this part) (create-launch-control group-yellow-eco-fireball this)) (when *target* (case (-> *target* current-level name) (('swamp) @@ -1162,7 +1172,7 @@ (vector+float*! (-> this target) (-> this root trans) (-> this root transv) 2.0) (set! (-> this target-base quad) (-> this target quad)) (set! (-> this mask) (the-as process-mask (logior (process-mask ambient) (-> this mask)))) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 42) this)) + (set! (-> this part) (create-launch-control group-eco-blue this)) (set! (-> this root root-prim collide-with) (collide-kind background)) (let* ((s5-1 (handle->process (-> this last-target))) (v1-20 (if (and (nonzero? s5-1) (type-type? (-> s5-1 type) process-drawable)) diff --git a/test/decompiler/reference/jak1/engine/gfx/mood/time-of-day_REF.gc b/test/decompiler/reference/jak1/engine/gfx/mood/time-of-day_REF.gc index 3c82e7bc8c..4f0426c74f 100644 --- a/test/decompiler/reference/jak1/engine/gfx/mood/time-of-day_REF.gc +++ b/test/decompiler/reference/jak1/engine/gfx/mood/time-of-day_REF.gc @@ -157,9 +157,9 @@ (set! (-> self time-ratio) 300.0) ) (set! (-> self star-count) 0) - (set! (-> self stars) (create-launch-control (-> *part-group-id-table* 34) self)) - (set! (-> self sun) (create-launch-control (-> *part-group-id-table* 35) self)) - (set! (-> self green-sun) (create-launch-control (-> *part-group-id-table* 36) self)) + (set! (-> self stars) (create-launch-control group-stars self)) + (set! (-> self sun) (create-launch-control group-sun self)) + (set! (-> self green-sun) (create-launch-control group-green-sun self)) (go time-of-day-tick) (none) ) diff --git a/test/decompiler/reference/jak1/engine/target/target-death_REF.gc b/test/decompiler/reference/jak1/engine/target/target-death_REF.gc index 7843afdc56..ed9d66bd04 100644 --- a/test/decompiler/reference/jak1/engine/target/target-death_REF.gc +++ b/test/decompiler/reference/jak1/engine/target/target-death_REF.gc @@ -558,7 +558,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 1) + group-target-hit -1 #f #f @@ -1078,7 +1078,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 31) + group-dark-eco-death -1 #f #f @@ -1092,7 +1092,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 32) + group-lava-death -1 #f #f @@ -1231,7 +1231,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 708) + group-burn-death -1 #f #f diff --git a/test/decompiler/reference/jak1/engine/target/target-handler_REF.gc b/test/decompiler/reference/jak1/engine/target/target-handler_REF.gc index a725442eca..001febd9ab 100644 --- a/test/decompiler/reference/jak1/engine/target/target-handler_REF.gc +++ b/test/decompiler/reference/jak1/engine/target/target-handler_REF.gc @@ -361,7 +361,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 1) + group-target-hit -1 #f #f @@ -447,7 +447,7 @@ (let ((s3-0 run-function-in-process) (s2-0 s4-0) (s1-0 part-tracker-init) - (s0-0 (-> *part-group-id-table* 4)) + (s0-0 group-spin-hit) ) (set! sv-224 -1) (set! sv-240 (the-as symbol #f)) @@ -496,7 +496,7 @@ (let ((s3-1 run-function-in-process) (s2-1 s4-1) (s1-1 part-tracker-init) - (s0-1 (-> *part-group-id-table* 5)) + (s0-1 group-punch-hit) ) (set! sv-288 -1) (set! sv-304 (the-as symbol #f)) @@ -531,7 +531,7 @@ (let ((s3-2 run-function-in-process) (s2-2 s4-2) (s1-2 part-tracker-init) - (s0-2 (-> *part-group-id-table* 5)) + (s0-2 group-punch-hit) ) (set! sv-352 -1) (set! sv-368 (the-as symbol #f)) @@ -588,7 +588,7 @@ (let ((s3-3 run-function-in-process) (s2-3 s4-3) (s1-3 part-tracker-init) - (s0-3 (-> *part-group-id-table* 5)) + (s0-3 group-punch-hit) ) (set! sv-416 -1) (set! sv-432 (the-as symbol #f)) @@ -623,7 +623,7 @@ (let ((s3-4 run-function-in-process) (s2-4 s4-4) (s1-4 part-tracker-init) - (s0-4 (-> *part-group-id-table* 5)) + (s0-4 group-punch-hit) ) (set! sv-480 -1) (set! sv-496 (the-as symbol #f)) diff --git a/test/decompiler/reference/jak1/engine/target/target2_REF.gc b/test/decompiler/reference/jak1/engine/target/target2_REF.gc index 43d974d100..bd8f0da791 100644 --- a/test/decompiler/reference/jak1/engine/target/target2_REF.gc +++ b/test/decompiler/reference/jak1/engine/target/target2_REF.gc @@ -191,7 +191,7 @@ (when (< (-> self nb-of-particles) (-> self max-nb-of-particles)) (let ((gp-0 (-> self nb-of-particles))) (set! (-> self particles gp-0) (new 'static 'hud-particle)) - (set! (-> self particles gp-0 part) (create-launch-control (-> *part-group-id-table* 611) self)) + (set! (-> self particles gp-0 part) (create-launch-control group-part-first-person-hud-left self)) (set! (-> self particles gp-0 init-pos x) -320.0) (set! (-> self particles gp-0 init-pos y) 254.0) (set! (-> self particles gp-0 init-pos z) 15.0) @@ -202,7 +202,7 @@ (when (< (-> self nb-of-particles) (-> self max-nb-of-particles)) (let ((gp-1 (-> self nb-of-particles))) (set! (-> self particles gp-1) (new 'static 'hud-particle)) - (set! (-> self particles gp-1 part) (create-launch-control (-> *part-group-id-table* 612) self)) + (set! (-> self particles gp-1 part) (create-launch-control group-part-first-person-hud-right self)) (set! (-> self particles gp-1 init-pos x) -320.0) (set! (-> self particles gp-1 init-pos y) 192.0) (set! (-> self particles gp-1 init-pos z) 15.0) @@ -213,7 +213,7 @@ (when (< (-> self nb-of-particles) (-> self max-nb-of-particles)) (let ((gp-2 (-> self nb-of-particles))) (set! (-> self particles gp-2) (new 'static 'hud-particle)) - (set! (-> self particles gp-2 part) (create-launch-control (-> *part-group-id-table* 613) self)) + (set! (-> self particles gp-2 part) (create-launch-control group-part-first-person-hud-selector self)) (set! (-> self particles gp-2 init-pos x) 256.0) (set! (-> self particles gp-2 init-pos y) 244.0) (set! (-> self particles gp-2 init-pos z) 15.0) diff --git a/test/decompiler/reference/jak1/engine/ui/hud-classes_REF.gc b/test/decompiler/reference/jak1/engine/ui/hud-classes_REF.gc index 24895b3e79..c0612a7cde 100644 --- a/test/decompiler/reference/jak1/engine/ui/hud-classes_REF.gc +++ b/test/decompiler/reference/jak1/engine/ui/hud-classes_REF.gc @@ -196,7 +196,7 @@ (when (< (-> this nb-of-particles) (-> this max-nb-of-particles)) (let ((s5-0 (-> this nb-of-particles))) (set! (-> this particles s5-0) (new 'static 'hud-particle)) - (set! (-> this particles s5-0 part) (create-launch-control (-> *part-group-id-table* 75) this)) + (set! (-> this particles s5-0 part) (create-launch-control group-part-hud-pickup this)) (set! (-> this particles s5-0 init-pos x) 110.0) (set! (-> this particles s5-0 init-pos y) 55.0) (set! (-> this particles s5-0 init-pos z) 1.0) @@ -392,7 +392,7 @@ (when (< (-> this nb-of-particles) (-> this max-nb-of-particles)) (let ((s5-0 (-> this nb-of-particles))) (set! (-> this particles s5-0) (new 'static 'hud-particle)) - (set! (-> this particles s5-0 part) (create-launch-control (-> *part-group-id-table* 76) this)) + (set! (-> this particles s5-0 part) (create-launch-control group-part-hud-health-1 this)) (set! (-> this particles s5-0 init-pos x) 61.0) (set! (-> this particles s5-0 init-pos y) 55.0) (set! (-> this particles s5-0 init-pos z) 5.0) @@ -403,7 +403,7 @@ (when (< (-> this nb-of-particles) (-> this max-nb-of-particles)) (let ((s5-1 (-> this nb-of-particles))) (set! (-> this particles s5-1) (new 'static 'hud-particle)) - (set! (-> this particles s5-1 part) (create-launch-control (-> *part-group-id-table* 77) this)) + (set! (-> this particles s5-1 part) (create-launch-control group-part-hud-health-2 this)) (set! (-> this particles s5-1 init-pos x) 98.0) (set! (-> this particles s5-1 init-pos y) 55.0) (set! (-> this particles s5-1 init-pos z) 5.0) @@ -414,7 +414,7 @@ (when (< (-> this nb-of-particles) (-> this max-nb-of-particles)) (let ((s5-2 (-> this nb-of-particles))) (set! (-> this particles s5-2) (new 'static 'hud-particle)) - (set! (-> this particles s5-2 part) (create-launch-control (-> *part-group-id-table* 78) this)) + (set! (-> this particles s5-2 part) (create-launch-control group-part-hud-health-3 this)) (set! (-> this particles s5-2 init-pos x) 70.0) (set! (-> this particles s5-2 init-pos y) 76.0) (set! (-> this particles s5-2 init-pos z) 5.0) @@ -653,7 +653,7 @@ (when (< (-> this nb-of-particles) (-> this max-nb-of-particles)) (let ((s4-1 (-> this nb-of-particles))) (set! (-> this particles s4-1) (new 'static 'hud-particle)) - (set! (-> this particles s4-1 part) (create-launch-control (-> *part-group-id-table* 705) this)) + (set! (-> this particles s4-1 part) (create-launch-control group-part-hud-orb-all this)) (set! (-> this particles s4-1 init-pos x) 172.0) (set! (-> this particles s4-1 init-pos y) 330.0) (set! (-> this particles s4-1 init-pos z) 2.0) @@ -878,7 +878,7 @@ (when (< (-> this nb-of-particles) (-> this max-nb-of-particles)) (let ((s5-1 (-> this nb-of-particles))) (set! (-> this particles s5-1) (new 'static 'hud-particle)) - (set! (-> this particles s5-1 part) (create-launch-control (-> *part-group-id-table* 79) this)) + (set! (-> this particles s5-1 part) (create-launch-control group-part-hud-orb this)) (set! (-> this particles s5-1 init-pos x) 400.0) (set! (-> this particles s5-1 init-pos y) 58.0) (set! (-> this particles s5-1 init-pos z) 2.0) @@ -1317,7 +1317,7 @@ (when (< (-> this nb-of-particles) (-> this max-nb-of-particles)) (let ((s5-0 (-> this nb-of-particles))) (set! (-> this particles s5-0) (new 'static 'hud-particle)) - (set! (-> this particles s5-0 part) (create-launch-control (-> *part-group-id-table* 80) this)) + (set! (-> this particles s5-0 part) (create-launch-control group-part-hud-power-cell-whole this)) (set! (-> this particles s5-0 init-pos x) 256.0) (set! (-> this particles s5-0 init-pos y) 224.0) (set! (-> this particles s5-0 init-pos z) 1.0) @@ -1546,7 +1546,7 @@ (when (< (-> this nb-of-particles) (-> this max-nb-of-particles)) (let ((s5-0 (-> this nb-of-particles))) (set! (-> this particles s5-0) (new 'static 'hud-particle)) - (set! (-> this particles s5-0 part) (create-launch-control (-> *part-group-id-table* 81) this)) + (set! (-> this particles s5-0 part) (create-launch-control group-part-hud-buzzer this)) (set! (-> this particles s5-0 init-pos x) 60.0) (set! (-> this particles s5-0 init-pos y) 380.0) (set! (-> this particles s5-0 init-pos z) 1.0) @@ -1961,7 +1961,7 @@ (when (< (-> this nb-of-particles) (-> this max-nb-of-particles)) (let ((s5-0 (-> this nb-of-particles))) (set! (-> this particles s5-0) (new 'static 'hud-particle)) - (set! (-> this particles s5-0 part) (create-launch-control (-> *part-group-id-table* 83) this)) + (set! (-> this particles s5-0 part) (create-launch-control group-part-hud-eco-timer-backing this)) (set! (-> this particles s5-0 init-pos x) 435.0) (set! (-> this particles s5-0 init-pos y) 370.0) (set! (-> this particles s5-0 init-pos z) 10.0) @@ -1972,7 +1972,7 @@ (when (< (-> this nb-of-particles) (-> this max-nb-of-particles)) (let ((s5-1 (-> this nb-of-particles))) (set! (-> this particles s5-1) (new 'static 'hud-particle)) - (set! (-> this particles s5-1 part) (create-launch-control (-> *part-group-id-table* 84) this)) + (set! (-> this particles s5-1 part) (create-launch-control group-part-hud-timer-blue this)) (set! (-> this particles s5-1 init-pos x) 432.0) (set! (-> this particles s5-1 init-pos y) 368.0) (set! (-> this particles s5-1 init-pos z) 3.0) @@ -1983,7 +1983,7 @@ (when (< (-> this nb-of-particles) (-> this max-nb-of-particles)) (let ((s5-2 (-> this nb-of-particles))) (set! (-> this particles s5-2) (new 'static 'hud-particle)) - (set! (-> this particles s5-2 part) (create-launch-control (-> *part-group-id-table* 82) this)) + (set! (-> this particles s5-2 part) (create-launch-control group-part-hud-eco-timer this)) (set! (-> this particles s5-2 init-pos x) 435.0) (set! (-> this particles s5-2 init-pos y) 370.0) (set! (-> this particles s5-2 init-pos z) 2.0) diff --git a/test/decompiler/reference/jak1/engine/ui/progress/progress-part_REF.gc b/test/decompiler/reference/jak1/engine/ui/progress/progress-part_REF.gc index 509cc4aa92..551c4444bc 100644 --- a/test/decompiler/reference/jak1/engine/ui/progress/progress-part_REF.gc +++ b/test/decompiler/reference/jak1/engine/ui/progress/progress-part_REF.gc @@ -962,7 +962,7 @@ (when (< (-> this nb-of-particles) (-> this max-nb-of-particles)) (let ((s5-0 (-> this nb-of-particles))) (set! (-> this particles s5-0) (new 'static 'hud-particle)) - (set! (-> this particles s5-0 part) (create-launch-control (-> *part-group-id-table* 90) this)) + (set! (-> this particles s5-0 part) (create-launch-control group-part-progress-hud-tint this)) (set! (-> this particles s5-0 init-pos x) 256.0) (set! (-> this particles s5-0 init-pos y) 224.0) (set! (-> this particles s5-0 init-pos z) 16.0) @@ -973,7 +973,7 @@ (when (< (-> this nb-of-particles) (-> this max-nb-of-particles)) (let ((s5-1 (-> this nb-of-particles))) (set! (-> this particles s5-1) (new 'static 'hud-particle)) - (set! (-> this particles s5-1 part) (create-launch-control (-> *part-group-id-table* 88) this)) + (set! (-> this particles s5-1 part) (create-launch-control group-part-progress-hud-left this)) (set! (-> this particles s5-1 init-pos x) -42.0) (set! (-> this particles s5-1 init-pos y) 254.0) (set! (-> this particles s5-1 init-pos z) 5.0) @@ -984,7 +984,7 @@ (when (< (-> this nb-of-particles) (-> this max-nb-of-particles)) (let ((s5-2 (-> this nb-of-particles))) (set! (-> this particles s5-2) (new 'static 'hud-particle)) - (set! (-> this particles s5-2 part) (create-launch-control (-> *part-group-id-table* 89) this)) + (set! (-> this particles s5-2 part) (create-launch-control group-part-progress-hud-right this)) (set! (-> this particles s5-2 init-pos x) 610.0) (set! (-> this particles s5-2 init-pos y) 254.0) (set! (-> this particles s5-2 init-pos z) 5.0) @@ -995,7 +995,7 @@ (when (< (-> this nb-of-particles) (-> this max-nb-of-particles)) (let ((s5-3 (-> this nb-of-particles))) (set! (-> this particles s5-3) (new 'static 'hud-particle)) - (set! (-> this particles s5-3 part) (create-launch-control (-> *part-group-id-table* 85) this)) + (set! (-> this particles s5-3 part) (create-launch-control group-part-progress-hud-previous this)) (set! (-> this particles s5-3 init-pos x) -320.0) (set! (-> this particles s5-3 init-pos y) 40.0) (set! (-> this particles s5-3 init-pos z) 14.0) @@ -1006,7 +1006,7 @@ (when (< (-> this nb-of-particles) (-> this max-nb-of-particles)) (let ((s5-4 (-> this nb-of-particles))) (set! (-> this particles s5-4) (new 'static 'hud-particle)) - (set! (-> this particles s5-4 part) (create-launch-control (-> *part-group-id-table* 86) this)) + (set! (-> this particles s5-4 part) (create-launch-control group-part-progress-hud-next this)) (set! (-> this particles s5-4 init-pos x) -320.0) (set! (-> this particles s5-4 init-pos y) 400.0) (set! (-> this particles s5-4 init-pos z) 14.0) @@ -1017,7 +1017,7 @@ (when (< (-> this nb-of-particles) (-> this max-nb-of-particles)) (let ((s5-5 (-> this nb-of-particles))) (set! (-> this particles s5-5) (new 'static 'hud-particle)) - (set! (-> this particles s5-5 part) (create-launch-control (-> *part-group-id-table* 87) this)) + (set! (-> this particles s5-5 part) (create-launch-control group-part-progress-hud-selector this)) (set! (-> this particles s5-5 init-pos x) -320.0) (set! (-> this particles s5-5 init-pos y) 194.0) (set! (-> this particles s5-5 init-pos z) 15.0) @@ -1028,7 +1028,7 @@ (when (< (-> this nb-of-particles) (-> this max-nb-of-particles)) (let ((s5-6 (-> this nb-of-particles))) (set! (-> this particles s5-6) (new 'static 'hud-particle)) - (set! (-> this particles s5-6 part) (create-launch-control (-> *part-group-id-table* 97) this)) + (set! (-> this particles s5-6 part) (create-launch-control group-part-progress-hud-power-cell-whole this)) (set! (-> this particles s5-6 init-pos x) -320.0) (set! (-> this particles s5-6 init-pos y) 194.0) (set! (-> this particles s5-6 init-pos z) 14.0) @@ -1039,7 +1039,7 @@ (when (< (-> this nb-of-particles) (-> this max-nb-of-particles)) (let ((s5-7 (-> this nb-of-particles))) (set! (-> this particles s5-7) (new 'static 'hud-particle)) - (set! (-> this particles s5-7 part) (create-launch-control (-> *part-group-id-table* 97) this)) + (set! (-> this particles s5-7 part) (create-launch-control group-part-progress-hud-power-cell-whole this)) (set! (-> this particles s5-7 init-pos x) -320.0) (set! (-> this particles s5-7 init-pos y) 194.0) (set! (-> this particles s5-7 init-pos z) 14.0) @@ -1050,7 +1050,7 @@ (when (< (-> this nb-of-particles) (-> this max-nb-of-particles)) (let ((s5-8 (-> this nb-of-particles))) (set! (-> this particles s5-8) (new 'static 'hud-particle)) - (set! (-> this particles s5-8 part) (create-launch-control (-> *part-group-id-table* 97) this)) + (set! (-> this particles s5-8 part) (create-launch-control group-part-progress-hud-power-cell-whole this)) (set! (-> this particles s5-8 init-pos x) -320.0) (set! (-> this particles s5-8 init-pos y) 194.0) (set! (-> this particles s5-8 init-pos z) 14.0) @@ -1061,7 +1061,7 @@ (when (< (-> this nb-of-particles) (-> this max-nb-of-particles)) (let ((s5-9 (-> this nb-of-particles))) (set! (-> this particles s5-9) (new 'static 'hud-particle)) - (set! (-> this particles s5-9 part) (create-launch-control (-> *part-group-id-table* 97) this)) + (set! (-> this particles s5-9 part) (create-launch-control group-part-progress-hud-power-cell-whole this)) (set! (-> this particles s5-9 init-pos x) -320.0) (set! (-> this particles s5-9 init-pos y) 194.0) (set! (-> this particles s5-9 init-pos z) 14.0) @@ -1072,7 +1072,7 @@ (when (< (-> this nb-of-particles) (-> this max-nb-of-particles)) (let ((s5-10 (-> this nb-of-particles))) (set! (-> this particles s5-10) (new 'static 'hud-particle)) - (set! (-> this particles s5-10 part) (create-launch-control (-> *part-group-id-table* 97) this)) + (set! (-> this particles s5-10 part) (create-launch-control group-part-progress-hud-power-cell-whole this)) (set! (-> this particles s5-10 init-pos x) -320.0) (set! (-> this particles s5-10 init-pos y) 194.0) (set! (-> this particles s5-10 init-pos z) 14.0) @@ -1083,7 +1083,7 @@ (when (< (-> this nb-of-particles) (-> this max-nb-of-particles)) (let ((s5-11 (-> this nb-of-particles))) (set! (-> this particles s5-11) (new 'static 'hud-particle)) - (set! (-> this particles s5-11 part) (create-launch-control (-> *part-group-id-table* 97) this)) + (set! (-> this particles s5-11 part) (create-launch-control group-part-progress-hud-power-cell-whole this)) (set! (-> this particles s5-11 init-pos x) -320.0) (set! (-> this particles s5-11 init-pos y) 194.0) (set! (-> this particles s5-11 init-pos z) 14.0) @@ -1094,7 +1094,7 @@ (when (< (-> this nb-of-particles) (-> this max-nb-of-particles)) (let ((s5-12 (-> this nb-of-particles))) (set! (-> this particles s5-12) (new 'static 'hud-particle)) - (set! (-> this particles s5-12 part) (create-launch-control (-> *part-group-id-table* 97) this)) + (set! (-> this particles s5-12 part) (create-launch-control group-part-progress-hud-power-cell-whole this)) (set! (-> this particles s5-12 init-pos x) -320.0) (set! (-> this particles s5-12 init-pos y) 194.0) (set! (-> this particles s5-12 init-pos z) 14.0) @@ -1105,7 +1105,7 @@ (when (< (-> this nb-of-particles) (-> this max-nb-of-particles)) (let ((s5-13 (-> this nb-of-particles))) (set! (-> this particles s5-13) (new 'static 'hud-particle)) - (set! (-> this particles s5-13 part) (create-launch-control (-> *part-group-id-table* 97) this)) + (set! (-> this particles s5-13 part) (create-launch-control group-part-progress-hud-power-cell-whole this)) (set! (-> this particles s5-13 init-pos x) -320.0) (set! (-> this particles s5-13 init-pos y) 194.0) (set! (-> this particles s5-13 init-pos z) 14.0) @@ -1116,7 +1116,7 @@ (when (< (-> this nb-of-particles) (-> this max-nb-of-particles)) (let ((s5-14 (-> this nb-of-particles))) (set! (-> this particles s5-14) (new 'static 'hud-particle)) - (set! (-> this particles s5-14 part) (create-launch-control (-> *part-group-id-table* 98) this)) + (set! (-> this particles s5-14 part) (create-launch-control group-part-progress-buzzer this)) (set! (-> this particles s5-14 init-pos x) -320.0) (set! (-> this particles s5-14 init-pos y) 224.0) (set! (-> this particles s5-14 init-pos z) 14.0) @@ -1127,7 +1127,7 @@ (when (< (-> this nb-of-particles) (-> this max-nb-of-particles)) (let ((s5-15 (-> this nb-of-particles))) (set! (-> this particles s5-15) (new 'static 'hud-particle)) - (set! (-> this particles s5-15 part) (create-launch-control (-> *part-group-id-table* 99) this)) + (set! (-> this particles s5-15 part) (create-launch-control group-part-progress-orb this)) (set! (-> this particles s5-15 init-pos x) -320.0) (set! (-> this particles s5-15 init-pos y) 224.0) (set! (-> this particles s5-15 init-pos z) 14.0) @@ -1138,7 +1138,7 @@ (when (< (-> this nb-of-particles) (-> this max-nb-of-particles)) (let ((s5-16 (-> this nb-of-particles))) (set! (-> this particles s5-16) (new 'static 'hud-particle)) - (set! (-> this particles s5-16 part) (create-launch-control (-> *part-group-id-table* 97) this)) + (set! (-> this particles s5-16 part) (create-launch-control group-part-progress-hud-power-cell-whole this)) (set! (-> this particles s5-16 init-pos x) -320.0) (set! (-> this particles s5-16 init-pos y) 112.0) (set! (-> this particles s5-16 init-pos z) 4.0) @@ -1149,7 +1149,7 @@ (when (< (-> this nb-of-particles) (-> this max-nb-of-particles)) (let ((s5-17 (-> this nb-of-particles))) (set! (-> this particles s5-17) (new 'static 'hud-particle)) - (set! (-> this particles s5-17 part) (create-launch-control (-> *part-group-id-table* 100) this)) + (set! (-> this particles s5-17 part) (create-launch-control group-part-progress-buzzer-small this)) (set! (-> this particles s5-17 init-pos x) -320.0) (set! (-> this particles s5-17 init-pos y) 193.0) (set! (-> this particles s5-17 init-pos z) 4.0) @@ -1160,7 +1160,7 @@ (when (< (-> this nb-of-particles) (-> this max-nb-of-particles)) (let ((s5-18 (-> this nb-of-particles))) (set! (-> this particles s5-18) (new 'static 'hud-particle)) - (set! (-> this particles s5-18 part) (create-launch-control (-> *part-group-id-table* 101) this)) + (set! (-> this particles s5-18 part) (create-launch-control group-part-progress-orb-small this)) (set! (-> this particles s5-18 init-pos x) -320.0) (set! (-> this particles s5-18 init-pos y) 40.0) (set! (-> this particles s5-18 init-pos z) 4.0) @@ -1171,7 +1171,7 @@ (when (< (-> this nb-of-particles) (-> this max-nb-of-particles)) (let ((s5-19 (-> this nb-of-particles))) (set! (-> this particles s5-19) (new 'static 'hud-particle)) - (set! (-> this particles s5-19 part) (create-launch-control (-> *part-group-id-table* 92) this)) + (set! (-> this particles s5-19 part) (create-launch-control group-part-progress-card-slot-01 this)) (set! (-> this particles s5-19 init-pos x) -320.0) (set! (-> this particles s5-19 init-pos y) 90.0) (set! (-> this particles s5-19 init-pos z) 16.0) @@ -1182,7 +1182,7 @@ (when (< (-> this nb-of-particles) (-> this max-nb-of-particles)) (let ((s5-20 (-> this nb-of-particles))) (set! (-> this particles s5-20) (new 'static 'hud-particle)) - (set! (-> this particles s5-20 part) (create-launch-control (-> *part-group-id-table* 93) this)) + (set! (-> this particles s5-20 part) (create-launch-control group-part-progress-card-slot-02 this)) (set! (-> this particles s5-20 init-pos x) -320.0) (set! (-> this particles s5-20 init-pos y) 172.0) (set! (-> this particles s5-20 init-pos z) 16.0) @@ -1193,7 +1193,7 @@ (when (< (-> this nb-of-particles) (-> this max-nb-of-particles)) (let ((s5-21 (-> this nb-of-particles))) (set! (-> this particles s5-21) (new 'static 'hud-particle)) - (set! (-> this particles s5-21 part) (create-launch-control (-> *part-group-id-table* 94) this)) + (set! (-> this particles s5-21 part) (create-launch-control group-part-progress-card-slot-03 this)) (set! (-> this particles s5-21 init-pos x) -320.0) (set! (-> this particles s5-21 init-pos y) 254.0) (set! (-> this particles s5-21 init-pos z) 16.0) @@ -1204,7 +1204,7 @@ (when (< (-> this nb-of-particles) (-> this max-nb-of-particles)) (let ((s5-22 (-> this nb-of-particles))) (set! (-> this particles s5-22) (new 'static 'hud-particle)) - (set! (-> this particles s5-22 part) (create-launch-control (-> *part-group-id-table* 95) this)) + (set! (-> this particles s5-22 part) (create-launch-control group-part-progress-card-slot-04 this)) (set! (-> this particles s5-22 init-pos x) -320.0) (set! (-> this particles s5-22 init-pos y) 336.0) (set! (-> this particles s5-22 init-pos z) 16.0) @@ -1215,7 +1215,7 @@ (when (< (-> this nb-of-particles) (-> this max-nb-of-particles)) (let ((s5-23 (-> this nb-of-particles))) (set! (-> this particles s5-23) (new 'static 'hud-particle)) - (set! (-> this particles s5-23 part) (create-launch-control (-> *part-group-id-table* 91) this)) + (set! (-> this particles s5-23 part) (create-launch-control group-part-progress-card-cell this)) (set! (-> this particles s5-23 init-pos x) -320.0) (set! (-> this particles s5-23 init-pos y) 102.0) (set! (-> this particles s5-23 init-pos z) 13.0) @@ -1226,7 +1226,7 @@ (when (< (-> this nb-of-particles) (-> this max-nb-of-particles)) (let ((s5-24 (-> this nb-of-particles))) (set! (-> this particles s5-24) (new 'static 'hud-particle)) - (set! (-> this particles s5-24 part) (create-launch-control (-> *part-group-id-table* 91) this)) + (set! (-> this particles s5-24 part) (create-launch-control group-part-progress-card-cell this)) (set! (-> this particles s5-24 init-pos x) -320.0) (set! (-> this particles s5-24 init-pos y) 184.0) (set! (-> this particles s5-24 init-pos z) 13.0) @@ -1237,7 +1237,7 @@ (when (< (-> this nb-of-particles) (-> this max-nb-of-particles)) (let ((s5-25 (-> this nb-of-particles))) (set! (-> this particles s5-25) (new 'static 'hud-particle)) - (set! (-> this particles s5-25 part) (create-launch-control (-> *part-group-id-table* 91) this)) + (set! (-> this particles s5-25 part) (create-launch-control group-part-progress-card-cell this)) (set! (-> this particles s5-25 init-pos x) -320.0) (set! (-> this particles s5-25 init-pos y) 266.0) (set! (-> this particles s5-25 init-pos z) 13.0) @@ -1248,7 +1248,7 @@ (when (< (-> this nb-of-particles) (-> this max-nb-of-particles)) (let ((s5-26 (-> this nb-of-particles))) (set! (-> this particles s5-26) (new 'static 'hud-particle)) - (set! (-> this particles s5-26 part) (create-launch-control (-> *part-group-id-table* 91) this)) + (set! (-> this particles s5-26 part) (create-launch-control group-part-progress-card-cell this)) (set! (-> this particles s5-26 init-pos x) -320.0) (set! (-> this particles s5-26 init-pos y) 348.0) (set! (-> this particles s5-26 init-pos z) 13.0) @@ -1259,7 +1259,7 @@ (when (< (-> this nb-of-particles) (-> this max-nb-of-particles)) (let ((s5-27 (-> this nb-of-particles))) (set! (-> this particles s5-27) (new 'static 'hud-particle)) - (set! (-> this particles s5-27 part) (create-launch-control (-> *part-group-id-table* 570) this)) + (set! (-> this particles s5-27 part) (create-launch-control group-part-progress-button-x this)) (set! (-> this particles s5-27 init-pos x) -320.0) (set! (-> this particles s5-27 init-pos y) 338.0) (set! (-> this particles s5-27 init-pos z) 4.0) @@ -1270,7 +1270,7 @@ (when (< (-> this nb-of-particles) (-> this max-nb-of-particles)) (let ((s5-28 (-> this nb-of-particles))) (set! (-> this particles s5-28) (new 'static 'hud-particle)) - (set! (-> this particles s5-28 part) (create-launch-control (-> *part-group-id-table* 571) this)) + (set! (-> this particles s5-28 part) (create-launch-control group-part-progress-button-square this)) (set! (-> this particles s5-28 init-pos x) -320.0) (set! (-> this particles s5-28 init-pos y) 338.0) (set! (-> this particles s5-28 init-pos z) 4.0) @@ -1281,7 +1281,7 @@ (when (< (-> this nb-of-particles) (-> this max-nb-of-particles)) (let ((s5-29 (-> this nb-of-particles))) (set! (-> this particles s5-29) (new 'static 'hud-particle)) - (set! (-> this particles s5-29 part) (create-launch-control (-> *part-group-id-table* 572) this)) + (set! (-> this particles s5-29 part) (create-launch-control group-part-progress-button-triangle this)) (set! (-> this particles s5-29 init-pos x) -320.0) (set! (-> this particles s5-29 init-pos y) 338.0) (set! (-> this particles s5-29 init-pos z) 4.0) @@ -1292,7 +1292,7 @@ (when (< (-> this nb-of-particles) (-> this max-nb-of-particles)) (let ((s5-30 (-> this nb-of-particles))) (set! (-> this particles s5-30) (new 'static 'hud-particle)) - (set! (-> this particles s5-30 part) (create-launch-control (-> *part-group-id-table* 573) this)) + (set! (-> this particles s5-30 part) (create-launch-control group-part-progress-button-circle this)) (set! (-> this particles s5-30 init-pos x) -320.0) (set! (-> this particles s5-30 init-pos y) 338.0) (set! (-> this particles s5-30 init-pos z) 4.0) @@ -1303,7 +1303,7 @@ (when (< (-> this nb-of-particles) (-> this max-nb-of-particles)) (let ((s5-31 (-> this nb-of-particles))) (set! (-> this particles s5-31) (new 'static 'hud-particle)) - (set! (-> this particles s5-31 part) (create-launch-control (-> *part-group-id-table* 615) this)) + (set! (-> this particles s5-31 part) (create-launch-control group-part-progress-save-icon this)) (set! (-> this particles s5-31 init-pos x) -320.0) (set! (-> this particles s5-31 init-pos y) 180.0) (set! (-> this particles s5-31 init-pos z) 4.0) diff --git a/test/decompiler/reference/jak1/levels/beach/beach-obs_REF.gc b/test/decompiler/reference/jak1/levels/beach/beach-obs_REF.gc index 4e8383151e..a7496724ee 100644 --- a/test/decompiler/reference/jak1/levels/beach/beach-obs_REF.gc +++ b/test/decompiler/reference/jak1/levels/beach/beach-obs_REF.gc @@ -396,7 +396,7 @@ (set! (-> this distance) (res-lump-float arg0 'distance :default 3072.0)) (set! (-> this position) 0) (set! (-> this max-position) (res-lump-value arg0 'num-positions int :default (the-as uint128 3))) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 155) this)) + (set! (-> this part) (create-launch-control group-beach-grotto-pole-rocks this)) (set! (-> this position) (-> this entity extra perm user-int16 0)) (move-grottopole-to-position this) (go grottopole-idle) @@ -609,7 +609,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 156) + group-beach-harvester-rock-explosion -1 #f #f diff --git a/test/decompiler/reference/jak1/levels/beach/beach-rocks_REF.gc b/test/decompiler/reference/jak1/levels/beach/beach-rocks_REF.gc index 336d302598..84e106bcdf 100644 --- a/test/decompiler/reference/jak1/levels/beach/beach-rocks_REF.gc +++ b/test/decompiler/reference/jak1/levels/beach/beach-rocks_REF.gc @@ -464,9 +464,9 @@ (set! (-> this align) (new 'process 'align-control this)) (set! (-> this trigger) #f) (logclear! (-> this mask) (process-mask actor-pause)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 553) this)) - (set! (-> this part-falling) (create-launch-control (-> *part-group-id-table* 554) this)) - (set! (-> this part-landing) (create-launch-control (-> *part-group-id-table* 555) this)) + (set! (-> this part) (create-launch-control group-beach-rocks-start this)) + (set! (-> this part-falling) (create-launch-control group-beach-rocks-fall this)) + (set! (-> this part-landing) (create-launch-control group-beach-rocks-land this)) (set! (-> this prev-frame) -1000.0) (set! (-> this draw origin-joint-index) (the-as uint 4)) (case (get-task-status (-> this entity extra perm task)) diff --git a/test/decompiler/reference/jak1/levels/beach/lurkercrab_REF.gc b/test/decompiler/reference/jak1/levels/beach/lurkercrab_REF.gc index 9cab3c86b9..1939066b05 100644 --- a/test/decompiler/reference/jak1/levels/beach/lurkercrab_REF.gc +++ b/test/decompiler/reference/jak1/levels/beach/lurkercrab_REF.gc @@ -580,7 +580,7 @@ nav-enemy-default-event-handler (process-drawable-from-entity! this arg0) (initialize-skeleton this *lurkercrab-sg* '()) (init-defaults! this *lurkercrab-nav-enemy-info*) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 159) this)) + (set! (-> this part) (create-launch-control group-lurkercrab-slide this)) (set! (-> this orient) #t) (logclear! (-> this nav-enemy-flags) (nav-enemy-flags navenmf5 navenmf6)) (set! (-> this target-speed) 0.0) diff --git a/test/decompiler/reference/jak1/levels/beach/lurkerworm_REF.gc b/test/decompiler/reference/jak1/levels/beach/lurkerworm_REF.gc index ce152d014b..44aacf6a2b 100644 --- a/test/decompiler/reference/jak1/levels/beach/lurkerworm_REF.gc +++ b/test/decompiler/reference/jak1/levels/beach/lurkerworm_REF.gc @@ -581,8 +581,8 @@ lurkerworm-default-post-behavior ) (set! (-> this angle) 0.0) (set! (-> this vulnerable) #f) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 157) this)) - (set! (-> this part2) (create-launch-control (-> *part-group-id-table* 158) this)) + (set! (-> this part) (create-launch-control group-beach-sandworm this)) + (set! (-> this part2) (create-launch-control group-beach-sandworm-norocks this)) (set! (-> this twister) (new 'process 'twister 3 15 1092.2667 72.81778 0.25 0.001)) (twister-method-9 (-> this twister) 3 9 910.2222) (set! (-> this head-tilt) 0.0) diff --git a/test/decompiler/reference/jak1/levels/beach/pelican_REF.gc b/test/decompiler/reference/jak1/levels/beach/pelican_REF.gc index 51b15e3de6..cf0def4719 100644 --- a/test/decompiler/reference/jak1/levels/beach/pelican_REF.gc +++ b/test/decompiler/reference/jak1/levels/beach/pelican_REF.gc @@ -251,7 +251,7 @@ (send-event (ppointer->process v1-8) 'eval - (lambda :behavior pelican () (let ((v0-0 (create-launch-control (-> *part-group-id-table* 63) self))) + (lambda :behavior pelican () (let ((v0-0 (create-launch-control group-fuel-cell-starburst self))) (set! (-> self part) v0-0) v0-0 ) @@ -803,7 +803,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 71) + group-crate-explode -1 #f #f @@ -908,7 +908,7 @@ (send-event (ppointer->process s5-2) 'eval - (lambda :behavior pelican () (let ((v0-0 (create-launch-control (-> *part-group-id-table* 63) self))) + (lambda :behavior pelican () (let ((v0-0 (create-launch-control group-fuel-cell-starburst self))) (set! (-> self part) v0-0) v0-0 ) diff --git a/test/decompiler/reference/jak1/levels/citadel/citadel-obs_REF.gc b/test/decompiler/reference/jak1/levels/citadel/citadel-obs_REF.gc index cc072689b4..216ecbfa88 100644 --- a/test/decompiler/reference/jak1/levels/citadel/citadel-obs_REF.gc +++ b/test/decompiler/reference/jak1/levels/citadel/citadel-obs_REF.gc @@ -996,7 +996,7 @@ ) (process-drawable-from-entity! this arg0) (initialize-skeleton this *citb-robotboss-sg* '()) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 601) this)) + (set! (-> this part) (create-launch-control group-citb-robotboss-shield this)) (logclear! (-> this mask) (process-mask actor-pause)) (set! (-> this shield-on) #t) (set! (-> this sound) @@ -1114,8 +1114,8 @@ (set! (-> this root) (new 'process 'trsqv)) (process-drawable-from-entity! this arg0) (initialize-skeleton this *citb-coil-sg* '()) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 596) this)) - (set! (-> this part-off) (create-launch-control (-> *part-group-id-table* 602) this)) + (set! (-> this part) (create-launch-control group-citb-coil-glow this)) + (set! (-> this part-off) (create-launch-control group-citb-coil-off this)) (let ((v1-9 (entity-actor-lookup (-> this entity) 'state-actor 0))) (if (not v1-9) (set! v1-9 (-> this entity)) @@ -1504,7 +1504,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 598) + group-citb-generator-break -1 #f #f @@ -1603,9 +1603,9 @@ (+! (-> this mushroom-pos z) (* 19251.2 (cos f30-0))) ) ) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 600) this)) - (set! (-> this part-broken) (create-launch-control (-> *part-group-id-table* 597) this)) - (set! (-> this part-mushroom) (create-launch-control (-> *part-group-id-table* 599) this)) + (set! (-> this part) (create-launch-control group-citb-generator-on this)) + (set! (-> this part-broken) (create-launch-control group-citb-generator-off this)) + (set! (-> this part-mushroom) (create-launch-control group-citb-generator-mushroom-on this)) (set! (-> this sound) (new 'process 'ambient-sound (static-sound-spec "mushroom-gen" :fo-max 20) (-> this root trans)) ) diff --git a/test/decompiler/reference/jak1/levels/citadel/citadel-sages_REF.gc b/test/decompiler/reference/jak1/levels/citadel/citadel-sages_REF.gc index d960cf55fe..bf3e1e48f0 100644 --- a/test/decompiler/reference/jak1/levels/citadel/citadel-sages_REF.gc +++ b/test/decompiler/reference/jak1/levels/citadel/citadel-sages_REF.gc @@ -560,8 +560,8 @@ (set! (-> this attack-start-anim) 5) (set! (-> this attack-anim) 6) (set! (-> this beam-joint) 20) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 604) this)) - (set! (-> this part-impact) (create-launch-control (-> *part-group-id-table* 608) this)) + (set! (-> this part) (create-launch-control group-citb-red-sage-beam this)) + (set! (-> this part-impact) (create-launch-control group-citb-red-sage-beam-impact this)) (set! (-> this resolution-anim) (new 'static 'spool-anim :name "redsage-resolution" :index 7 @@ -687,8 +687,8 @@ (set! (-> this attack-start-anim) 5) (set! (-> this attack-anim) 6) (set! (-> this beam-joint) 53) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 603) this)) - (set! (-> this part-impact) (create-launch-control (-> *part-group-id-table* 607) this)) + (set! (-> this part) (create-launch-control group-citb-blue-sage-beam this)) + (set! (-> this part-impact) (create-launch-control group-citb-blue-sage-beam-impact this)) (set! (-> this resolution-anim) (new 'static 'spool-anim :name "bluesage-resolution" :index 7 @@ -819,8 +819,8 @@ (set! (-> this attack-start-anim) 5) (set! (-> this attack-anim) 6) (set! (-> this beam-joint) 74) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 605) this)) - (set! (-> this part-impact) (create-launch-control (-> *part-group-id-table* 609) this)) + (set! (-> this part) (create-launch-control group-citb-yellow-sage-beam this)) + (set! (-> this part-impact) (create-launch-control group-citb-yellow-sage-beam-impact this)) (set! (-> this resolution-anim) (new 'static 'spool-anim :name "yellowsage-resolution" :index 7 @@ -912,8 +912,8 @@ (set! (-> this attack-start-anim) 4) (set! (-> this attack-anim) 4) (set! (-> this beam-joint) 22) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 606) this)) - (set! (-> this part-impact) (create-launch-control (-> *part-group-id-table* 610) this)) + (set! (-> this part) (create-launch-control group-citb-green-sage-beam this)) + (set! (-> this part-impact) (create-launch-control group-citb-green-sage-beam-impact this)) (set! (-> this resolution-anim) (new 'static 'spool-anim :name "green-sagecage-resolution" :index 6 diff --git a/test/decompiler/reference/jak1/levels/citadel/citb-plat_REF.gc b/test/decompiler/reference/jak1/levels/citadel/citb-plat_REF.gc index 4043e7615f..6bd27c8ed9 100644 --- a/test/decompiler/reference/jak1/levels/citadel/citb-plat_REF.gc +++ b/test/decompiler/reference/jak1/levels/citadel/citb-plat_REF.gc @@ -1050,7 +1050,7 @@ (initialize-skeleton this *citb-firehose-sg* '()) (load-params! (-> this sync) this (the-as uint 900) 0.0 0.15 0.15) (set! (-> this idle-distance) 286720.0) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 685) this)) + (set! (-> this part) (create-launch-control group-firehose-blast-smoke this)) (clear-collide-with-as (-> this root)) (go citb-firehose-idle) (none) diff --git a/test/decompiler/reference/jak1/levels/finalboss/final-door_REF.gc b/test/decompiler/reference/jak1/levels/finalboss/final-door_REF.gc index edc7885c00..35ceb8df8e 100644 --- a/test/decompiler/reference/jak1/levels/finalboss/final-door_REF.gc +++ b/test/decompiler/reference/jak1/levels/finalboss/final-door_REF.gc @@ -292,7 +292,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 4) + group-spin-hit -1 #f #f @@ -345,7 +345,7 @@ (set-vector! (-> self root scale) 0.5 0.5 0.5 1.0) (set! (-> self index) arg3) (initialize-skeleton self *powercellalt-sg* '()) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 63) self)) + (set! (-> self part) (create-launch-control group-fuel-cell-starburst self)) enter-state (-> self root trans) (-> self jump-pos) 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 c077fd9381..b158bed6a0 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 @@ -499,7 +499,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 643) + group-green-eco-lurker-death -1 #f #f @@ -663,7 +663,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 643) + group-green-eco-lurker-death -1 #f #f diff --git a/test/decompiler/reference/jak1/levels/finalboss/light-eco_REF.gc b/test/decompiler/reference/jak1/levels/finalboss/light-eco_REF.gc index 60c341233b..59f70f1bcb 100644 --- a/test/decompiler/reference/jak1/levels/finalboss/light-eco_REF.gc +++ b/test/decompiler/reference/jak1/levels/finalboss/light-eco_REF.gc @@ -578,7 +578,7 @@ (ja-channel-set! 1) (ja-no-eval :num! (seek!)) (ja :group! light-eco-small-idle-ja :num! min) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 692) self)) + (set! (-> self part) (create-launch-control group-light-eco-child self)) (transform-post) (go light-eco-child-appear) (none) @@ -772,8 +772,8 @@ (ja-channel-set! 1) (ja-no-eval :num! (seek!)) (ja :group! light-eco-big-idle-ja :num! min) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 691) self)) - (set! (-> self part2) (create-launch-control (-> *part-group-id-table* 690) self)) + (set! (-> self part) (create-launch-control group-light-eco-mother self)) + (set! (-> self part2) (create-launch-control group-light-eco-mother-growing self)) (set! (-> self sound) (new 'process 'ambient-sound (static-sound-spec "white-eco-lp" :fo-min 300 :fo-max 400) (-> self root trans)) ) diff --git a/test/decompiler/reference/jak1/levels/finalboss/robotboss-misc_REF.gc b/test/decompiler/reference/jak1/levels/finalboss/robotboss-misc_REF.gc index 0196e12b06..03a45ff8fc 100644 --- a/test/decompiler/reference/jak1/levels/finalboss/robotboss-misc_REF.gc +++ b/test/decompiler/reference/jak1/levels/finalboss/robotboss-misc_REF.gc @@ -487,7 +487,7 @@ (send-event (handle->process (-> this robotboss)) 'eval - (lambda :behavior finalbosscam () (let ((v0-0 (create-launch-control (-> *part-group-id-table* 645) self))) + (lambda :behavior finalbosscam () (let ((v0-0 (create-launch-control group-robotboss-blue-smoke self))) (set! (-> self part) v0-0) v0-0 ) diff --git a/test/decompiler/reference/jak1/levels/finalboss/robotboss-weapon_REF.gc b/test/decompiler/reference/jak1/levels/finalboss/robotboss-weapon_REF.gc index 42bdc53259..158dcc8370 100644 --- a/test/decompiler/reference/jak1/levels/finalboss/robotboss-weapon_REF.gc +++ b/test/decompiler/reference/jak1/levels/finalboss/robotboss-weapon_REF.gc @@ -283,7 +283,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 619) + group-final-boss-mine-explosion 900 #f #f @@ -366,7 +366,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 663) + group-robotboss-darkecobomb-tick 150 #f #f @@ -494,7 +494,7 @@ (set! (-> self root trans quad) (-> arg0 quad)) (initialize-skeleton self *darkecobomb-sg* '()) (logclear! (-> self mask) (process-mask actor-pause)) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 639) self)) + (set! (-> self part) (create-launch-control group-robotboss-darkecobomb-glow self)) (arcing-shot-setup arg0 arg1 arg2) (set! (-> self countdown-time) arg4) (set! (-> self flight-time) arg3) @@ -580,7 +580,7 @@ (logclear! (-> self mask) (process-mask actor-pause)) (arcing-shot-setup arg0 arg1 arg2) (set! (-> self flight-time) arg3) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 664) self)) + (set! (-> self part) (create-launch-control group-robotboss-greenshot self)) (logior! (-> self draw status) (draw-status hidden)) (go greenshot-idle) (none) @@ -692,7 +692,7 @@ (set! (-> self part-track) (ppointer->handle (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 648) + group-robotboss-redshot -1 redshot-particle-callback (-> self ppointer) @@ -828,9 +828,9 @@ (set! (-> self flight-time) arg3) (set! (-> self stall-time) arg4) (set! (-> self rotation-offset) arg5) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 647) self)) - (set! (-> self shot-particle) (create-launch-control (-> *part-group-id-table* 665) self)) - (set! (-> self test-particle) (create-launch-control (-> *part-group-id-table* 679) self)) + (set! (-> self part) (create-launch-control group-robotboss-redshot-warning self)) + (set! (-> self shot-particle) (create-launch-control group-robotboss-redshot-body self)) + (set! (-> self test-particle) (create-launch-control group-robotboss-redshot-test self)) (logior! (-> self draw status) (draw-status hidden)) (set! (-> self sound) (new 'process 'ambient-sound (static-sound-spec "red-fireball" :fo-max 80) (-> self root trans)) @@ -918,7 +918,7 @@ (logior! (-> self draw status) (draw-status hidden)) (arcing-shot-setup arg0 arg1 arg2) (set! (-> self flight-time) arg3) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 652) self)) + (set! (-> self part) (create-launch-control group-robotboss-yellowshot self)) (go yellowshot-idle) (none) ) diff --git a/test/decompiler/reference/jak1/levels/finalboss/robotboss_REF.gc b/test/decompiler/reference/jak1/levels/finalboss/robotboss_REF.gc index d43a9780d5..cacd84dc18 100644 --- a/test/decompiler/reference/jak1/levels/finalboss/robotboss_REF.gc +++ b/test/decompiler/reference/jak1/levels/finalboss/robotboss_REF.gc @@ -339,7 +339,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 638) + group-robotboss-darkecobomb-launch 300 #f #f @@ -645,7 +645,7 @@ (set! (-> a1-0 from) self) (set! (-> a1-0 num-params) 1) (set! (-> a1-0 message) 'open) - (set! (-> a1-0 param 0) (the-as uint (-> *part-group-id-table* 674))) + (set! (-> a1-0 param 0) (the-as uint group-robotboss-blue-claw-glow)) (let ((t9-0 send-event-function) (v1-4 (-> self alts 3)) ) @@ -661,7 +661,7 @@ (set! (-> a1-1 from) self) (set! (-> a1-1 num-params) 1) (set! (-> a1-1 message) 'open) - (set! (-> a1-1 param 0) (the-as uint (-> *part-group-id-table* 675))) + (set! (-> a1-1 param 0) (the-as uint group-robotboss-green-claw-glow)) (let ((t9-1 send-event-function) (v1-11 (-> self alts 2)) ) @@ -677,7 +677,7 @@ (set! (-> a1-2 from) self) (set! (-> a1-2 num-params) 1) (set! (-> a1-2 message) 'open) - (set! (-> a1-2 param 0) (the-as uint (-> *part-group-id-table* 676))) + (set! (-> a1-2 param 0) (the-as uint group-robotboss-red-claw-glow)) (let ((t9-2 send-event-function) (v1-18 (-> self alts 1)) ) @@ -693,7 +693,7 @@ (set! (-> a1-3 from) self) (set! (-> a1-3 num-params) 1) (set! (-> a1-3 message) 'open) - (set! (-> a1-3 param 0) (the-as uint (-> *part-group-id-table* 677))) + (set! (-> a1-3 param 0) (the-as uint group-robotboss-yellow-claw-glow)) (let ((t9-3 send-event-function) (v1-25 (-> self alts 4)) ) @@ -709,8 +709,8 @@ (set! (-> a1-4 from) self) (set! (-> a1-4 num-params) 3) (set! (-> a1-4 message) 'beam-on) - (set! (-> a1-4 param 0) (the-as uint (-> *part-group-id-table* 666))) - (set! (-> a1-4 param 1) (the-as uint (-> *part-group-id-table* 666))) + (set! (-> a1-4 param 0) (the-as uint group-finalboss-blue-claw-beam)) + (set! (-> a1-4 param 1) (the-as uint group-finalboss-blue-claw-beam)) (set! (-> a1-4 param 2) (the-as uint (-> self entity extra trans))) (let ((t9-4 send-event-function) (v1-37 (-> self alts 3)) @@ -727,8 +727,8 @@ (set! (-> a1-5 from) self) (set! (-> a1-5 num-params) 3) (set! (-> a1-5 message) 'beam-on) - (set! (-> a1-5 param 0) (the-as uint (-> *part-group-id-table* 672))) - (set! (-> a1-5 param 1) (the-as uint (-> *part-group-id-table* 672))) + (set! (-> a1-5 param 0) (the-as uint group-finalboss-green-claw-beam)) + (set! (-> a1-5 param 1) (the-as uint group-finalboss-green-claw-beam)) (set! (-> a1-5 param 2) (the-as uint (-> self entity extra trans))) (let ((t9-5 send-event-function) (v1-49 (-> self alts 2)) @@ -745,8 +745,8 @@ (set! (-> a1-6 from) self) (set! (-> a1-6 num-params) 3) (set! (-> a1-6 message) 'beam-on) - (set! (-> a1-6 param 0) (the-as uint (-> *part-group-id-table* 668))) - (set! (-> a1-6 param 1) (the-as uint (-> *part-group-id-table* 668))) + (set! (-> a1-6 param 0) (the-as uint group-finalboss-red-claw-beam)) + (set! (-> a1-6 param 1) (the-as uint group-finalboss-red-claw-beam)) (set! (-> a1-6 param 2) (the-as uint (-> self entity extra trans))) (let ((t9-6 send-event-function) (v1-61 (-> self alts 1)) @@ -763,8 +763,8 @@ (set! (-> a1-7 from) self) (set! (-> a1-7 num-params) 3) (set! (-> a1-7 message) 'beam-on) - (set! (-> a1-7 param 0) (the-as uint (-> *part-group-id-table* 670))) - (set! (-> a1-7 param 1) (the-as uint (-> *part-group-id-table* 670))) + (set! (-> a1-7 param 0) (the-as uint group-finalboss-yellow-claw-beam)) + (set! (-> a1-7 param 1) (the-as uint group-finalboss-yellow-claw-beam)) (set! (-> a1-7 param 2) (the-as uint (-> self entity extra trans))) (let ((t9-7 send-event-function) (v1-73 (-> self alts 4)) @@ -865,7 +865,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 642) + group-robotboss-yellowshot-launch 300 #f #f @@ -940,7 +940,7 @@ (set! (-> a1-1 from) self) (set! (-> a1-1 num-params) 1) (set! (-> a1-1 message) 'open) - (set! (-> a1-1 param 0) (the-as uint (-> *part-group-id-table* 677))) + (set! (-> a1-1 param 0) (the-as uint group-robotboss-yellow-claw-glow)) (let ((t9-1 send-event-function) (v1-10 (-> self alts 4)) ) @@ -999,7 +999,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 653) + group-robotboss-yellow-blowup 300 #f #f @@ -1441,7 +1441,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 641) + group-robotboss-redshot-launch 300 #f #f @@ -1513,7 +1513,7 @@ (set! (-> a1-1 from) self) (set! (-> a1-1 num-params) 1) (set! (-> a1-1 message) 'open) - (set! (-> a1-1 param 0) (the-as uint (-> *part-group-id-table* 676))) + (set! (-> a1-1 param 0) (the-as uint group-robotboss-red-claw-glow)) (let ((t9-1 send-event-function) (v1-10 (-> self alts 1)) ) @@ -1595,7 +1595,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 649) + group-robotboss-red-blowup 300 #f #f @@ -1888,7 +1888,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 640) + group-robotboss-greenshot-launch 300 #f #f @@ -1983,7 +1983,7 @@ (set! (-> a1-1 from) self) (set! (-> a1-1 num-params) 1) (set! (-> a1-1 message) 'open) - (set! (-> a1-1 param 0) (the-as uint (-> *part-group-id-table* 675))) + (set! (-> a1-1 param 0) (the-as uint group-robotboss-green-claw-glow)) (let ((t9-1 send-event-function) (v1-10 (-> self alts 2)) ) @@ -2491,7 +2491,7 @@ (set! (-> a1-1 from) self) (set! (-> a1-1 num-params) 1) (set! (-> a1-1 message) 'open) - (set! (-> a1-1 param 0) (the-as uint (-> *part-group-id-table* 674))) + (set! (-> a1-1 param 0) (the-as uint group-robotboss-blue-claw-glow)) (let ((t9-1 send-event-function) (v1-10 (-> self alts 3)) ) @@ -2553,7 +2553,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 644) + group-robotboss-blue-blowup 300 #f #f @@ -2883,13 +2883,13 @@ (set! (-> this alts s4-1) (entity-actor-lookup (-> this entity) 'alt-actor s4-1)) ) ) - (set! (-> this particle 0) (create-launch-control (-> *part-group-id-table* 636) this)) - (set! (-> this particle 1) (create-launch-control (-> *part-group-id-table* 637) this)) - (set! (-> this particle 2) (create-launch-control (-> *part-group-id-table* 645) this)) - (set! (-> this particle 3) (create-launch-control (-> *part-group-id-table* 650) this)) - (set! (-> this particle 4) (create-launch-control (-> *part-group-id-table* 654) this)) - (set! (-> this particle 5) (create-launch-control (-> *part-group-id-table* 646) this)) - (set! (-> this particle 6) (create-launch-control (-> *part-group-id-table* 651) this)) + (set! (-> this particle 0) (create-launch-control group-robotboss-blue-beam this)) + (set! (-> this particle 1) (create-launch-control group-robotboss-blue-beam-impact this)) + (set! (-> this particle 2) (create-launch-control group-robotboss-blue-smoke this)) + (set! (-> this particle 3) (create-launch-control group-robotboss-red-smoke this)) + (set! (-> this particle 4) (create-launch-control group-robotboss-yellow-smoke this)) + (set! (-> this particle 5) (create-launch-control group-robotboss-redshot-charge this)) + (set! (-> this particle 6) (create-launch-control group-robotboss-yellowshot-charge this)) (set! (-> this looping-sound 0) (new 'process 'ambient-sound (static-sound-spec "robo-blue-lp" :fo-max 80) (-> this root trans)) ) diff --git a/test/decompiler/reference/jak1/levels/finalboss/sage-finalboss_REF.gc b/test/decompiler/reference/jak1/levels/finalboss/sage-finalboss_REF.gc index 0b06890ba2..8d7b5dbaed 100644 --- a/test/decompiler/reference/jak1/levels/finalboss/sage-finalboss_REF.gc +++ b/test/decompiler/reference/jak1/levels/finalboss/sage-finalboss_REF.gc @@ -1064,19 +1064,19 @@ (set! (-> this kick-in-the-door) #f) (set! (-> this kick-the-credits) #f) (set! (-> this credits-played) #f) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 682) this)) + (set! (-> this part) (create-launch-control group-2d-credits-mist this)) (set! (-> this part matrix) (sprite-allocate-user-hvdf)) - (set! (-> this particle-whiteout) (create-launch-control (-> *part-group-id-table* 706) this)) + (set! (-> this particle-whiteout) (create-launch-control group-2d-big-door-whiteout this)) (set! (-> this particle-whiteout matrix) (sprite-allocate-user-hvdf)) - (set! (-> this particle 0 part) (create-launch-control (-> *part-group-id-table* 699) this)) - (set! (-> this particle 1 part) (create-launch-control (-> *part-group-id-table* 700) this)) - (set! (-> this particle 2 part) (create-launch-control (-> *part-group-id-table* 701) this)) - (set! (-> this particle 3 part) (create-launch-control (-> *part-group-id-table* 702) this)) - (set! (-> this particle 7 part) (create-launch-control (-> *part-group-id-table* 645) this)) - (set! (-> this particle 4 part) (create-launch-control (-> *part-group-id-table* 703) this)) - (set! (-> this particle 5 part) (create-launch-control (-> *part-group-id-table* 696) this)) - (set! (-> this particle 6 part) (create-launch-control (-> *part-group-id-table* 704) this)) - (set! (-> this particle 8 part) (create-launch-control (-> *part-group-id-table* 698) this)) + (set! (-> this particle 0 part) (create-launch-control group-target-white-eco-ground this)) + (set! (-> this particle 1 part) (create-launch-control group-target-white-eco-joints this)) + (set! (-> this particle 2 part) (create-launch-control group-target-white-eco-hand-glow this)) + (set! (-> this particle 3 part) (create-launch-control group-target-white-eco-hand-shot this)) + (set! (-> this particle 7 part) (create-launch-control group-robotboss-blue-smoke this)) + (set! (-> this particle 4 part) (create-launch-control group-robotboss-joints this)) + (set! (-> this particle 5 part) (create-launch-control group-robotboss-explode this)) + (set! (-> this particle 6 part) (create-launch-control group-robotboss-splash this)) + (set! (-> this particle 8 part) (create-launch-control group-bigdoor-open this)) (dotimes (v1-37 9) (set! (-> this particle v1-37 active) #f) ) diff --git a/test/decompiler/reference/jak1/levels/firecanyon/firecanyon-obs_REF.gc b/test/decompiler/reference/jak1/levels/firecanyon/firecanyon-obs_REF.gc index 0f3a83957d..0ef39090e5 100644 --- a/test/decompiler/reference/jak1/levels/firecanyon/firecanyon-obs_REF.gc +++ b/test/decompiler/reference/jak1/levels/firecanyon/firecanyon-obs_REF.gc @@ -100,7 +100,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 227) + group-balloon -1 #f #f @@ -154,7 +154,7 @@ ) (process-drawable-from-entity! this arg0) (initialize-skeleton this *balloon-sg* '()) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 227) this)) + (set! (-> this part) (create-launch-control group-balloon this)) (go balloon-idle) (none) ) @@ -604,7 +604,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 228) + group-dark-cluster-explosion -1 #f #f diff --git a/test/decompiler/reference/jak1/levels/flut_common/flutflut_REF.gc b/test/decompiler/reference/jak1/levels/flut_common/flutflut_REF.gc index 8865ac3c33..82567e5120 100644 --- a/test/decompiler/reference/jak1/levels/flut_common/flutflut_REF.gc +++ b/test/decompiler/reference/jak1/levels/flut_common/flutflut_REF.gc @@ -346,7 +346,7 @@ (set! (-> this fact) (new 'process 'fact-info this (pickup-type eco-pill-random) (-> *FACT-bank* default-pill-inc)) ) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 120) this)) + (set! (-> this part) (create-launch-control group-flut-trans-pad this)) (set! (-> this auto-get-off) #f) (move-to-ground (-> this root) 40960.0 40960.0 #t (collide-kind background)) (set! (-> this cell) (the-as handle #f)) diff --git a/test/decompiler/reference/jak1/levels/jungle/darkvine_REF.gc b/test/decompiler/reference/jak1/levels/jungle/darkvine_REF.gc index 487b069a09..4742b91835 100644 --- a/test/decompiler/reference/jak1/levels/jungle/darkvine_REF.gc +++ b/test/decompiler/reference/jak1/levels/jungle/darkvine_REF.gc @@ -226,7 +226,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 175) + group-darkvine-puffs -1 #f #f diff --git a/test/decompiler/reference/jak1/levels/jungle/fisher_REF.gc b/test/decompiler/reference/jak1/levels/jungle/fisher_REF.gc index 0578321a75..43c57f6433 100644 --- a/test/decompiler/reference/jak1/levels/jungle/fisher_REF.gc +++ b/test/decompiler/reference/jak1/levels/jungle/fisher_REF.gc @@ -993,7 +993,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 179) + group-fish-collect -1 #f #f @@ -1008,7 +1008,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 179) + group-fish-collect -1 #f #f @@ -1102,17 +1102,17 @@ ((or (= arg0 'deadly) (= arg0 'bad)) (set! (-> self size) 409.6) (set-vector! (-> self root scale) 0.9 0.9 0.7 1.0) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 177) self)) + (set! (-> self part) (create-launch-control group-bad-fish self)) *catch-fishc-sg* ) ((= arg0 'powerup) (set-vector! (-> self root scale) 0.4 0.4 0.4 1.0) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 178) self)) + (set! (-> self part) (create-launch-control group-normal-fish self)) *catch-fishb-sg* ) (else (set-vector! (-> self root scale) 0.3 0.3 0.3 1.0) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 178) self)) + (set! (-> self part) (create-launch-control group-normal-fish self)) *catch-fisha-sg* ) ) diff --git a/test/decompiler/reference/jak1/levels/jungle/jungle-mirrors_REF.gc b/test/decompiler/reference/jak1/levels/jungle/jungle-mirrors_REF.gc index 73235c9f09..911fac7375 100644 --- a/test/decompiler/reference/jak1/levels/jungle/jungle-mirrors_REF.gc +++ b/test/decompiler/reference/jak1/levels/jungle/jungle-mirrors_REF.gc @@ -1779,8 +1779,8 @@ (set! (-> this link) (new 'process 'actor-link-info this)) (periscope-find-next) (initialize-skeleton this *periscope-base-sg* '()) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 176) this)) - (set! (-> this part-aligned) (create-launch-control (-> *part-group-id-table* 689) this)) + (set! (-> this part) (create-launch-control group-jungle-binoculars this)) + (set! (-> this part-aligned) (create-launch-control group-jungle-binoculars-aligned this)) (set! (-> this grips) (new 'process 'joint-mod-set-world this 4 #t)) (transformq-copy! (-> this grips transform) (the-as transformq (-> this root trans))) (periscope-find-reflection-angles) diff --git a/test/decompiler/reference/jak1/levels/jungle/junglesnake_REF.gc b/test/decompiler/reference/jak1/levels/jungle/junglesnake_REF.gc index 52aa866b61..5dbed8f8ff 100644 --- a/test/decompiler/reference/jak1/levels/jungle/junglesnake_REF.gc +++ b/test/decompiler/reference/jak1/levels/jungle/junglesnake_REF.gc @@ -794,7 +794,7 @@ junglesnake-default-event-handler (set! (-> this fact) (new 'process 'fact-info-enemy this (pickup-type eco-pill-random) (-> *FACT-bank* default-pill-inc)) ) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 173) this)) + (set! (-> this part) (create-launch-control group-junglesnake-dropping-down this)) (set! (-> this is-lethal?) #f) (set! (-> this ry) (y-angle (-> this root))) (set! (-> this des-ry) (-> this ry)) diff --git a/test/decompiler/reference/jak1/levels/jungleb/jungleb-obs_REF.gc b/test/decompiler/reference/jak1/levels/jungleb/jungleb-obs_REF.gc index 5874d7ab46..7d37fce5ce 100644 --- a/test/decompiler/reference/jak1/levels/jungleb/jungleb-obs_REF.gc +++ b/test/decompiler/reference/jak1/levels/jungleb/jungleb-obs_REF.gc @@ -229,7 +229,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 190) + group-jungle-blue-eco-room-activate -1 #f #f @@ -323,7 +323,7 @@ (initialize-skeleton this *eggtop-sg* '()) (logior! (-> this skel status) (janim-status inited)) (update-transforms! (-> this root)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 189) this)) + (set! (-> this part) (create-launch-control group-jungle-blue-eco-room-open this)) (set! (-> this sound-id) (new-sound-id)) (cond ((task-complete? *game-info* (-> this entity extra perm task)) diff --git a/test/decompiler/reference/jak1/levels/lavatube/lavatube-energy_REF.gc b/test/decompiler/reference/jak1/levels/lavatube/lavatube-energy_REF.gc index 6c87d071fa..cc9454d203 100644 --- a/test/decompiler/reference/jak1/levels/lavatube/lavatube-energy_REF.gc +++ b/test/decompiler/reference/jak1/levels/lavatube/lavatube-energy_REF.gc @@ -828,7 +828,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 546) + group-energyball-explode 600 #f #f @@ -912,7 +912,7 @@ (energyball-init self) (set! (-> self root trans quad) (-> arg0 quad)) (initialize-skeleton self *energyball-sg* '()) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 545) self)) + (set! (-> self part) (create-launch-control group-energyball-always self)) (go energyball-idle) (none) ) @@ -1149,7 +1149,7 @@ (backup-collide-with-as s5-0) (set! (-> arg0 root) s5-0) ) - (let ((v0-5 (create-launch-control (-> *part-group-id-table* 544) arg0))) + (let ((v0-5 (create-launch-control group-energyarm arg0))) (set! (-> arg0 part) v0-5) v0-5 ) diff --git a/test/decompiler/reference/jak1/levels/lavatube/lavatube-obs_REF.gc b/test/decompiler/reference/jak1/levels/lavatube/lavatube-obs_REF.gc index 25745fdea3..577d0af0a7 100644 --- a/test/decompiler/reference/jak1/levels/lavatube/lavatube-obs_REF.gc +++ b/test/decompiler/reference/jak1/levels/lavatube/lavatube-obs_REF.gc @@ -556,7 +556,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 541) + group-darkecobarrel-explode 600 #f #f @@ -704,7 +704,7 @@ (set! (-> self root) s2-0) ) (darkecobarrel-base-init arg0) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 540) self)) + (set! (-> self part) (create-launch-control group-darkecobarrel-hit self)) (set! (-> self speed) arg1) (set! (-> self start-time) arg2) (set! (-> self sync) arg3) @@ -1108,7 +1108,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 542) + group-chainmine-explode 600 #f #f @@ -1293,7 +1293,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 543) + group-lavaballoon -1 #f #f @@ -1354,7 +1354,7 @@ ) (process-drawable-from-entity! this arg0) (initialize-skeleton this *lavaballoon-sg* '()) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 543) this)) + (set! (-> this part) (create-launch-control group-lavaballoon this)) (set! (-> this root pause-adjust-distance) 122880.0) (set! (-> this path) (new 'process 'path-control this 'path 0.0)) (logior! (-> this path flags) (path-control-flag display draw-line draw-point draw-text)) diff --git a/test/decompiler/reference/jak1/levels/maincave/dark-crystal_REF.gc b/test/decompiler/reference/jak1/levels/maincave/dark-crystal_REF.gc index 5434c7c09e..f47154dbca 100644 --- a/test/decompiler/reference/jak1/levels/maincave/dark-crystal_REF.gc +++ b/test/decompiler/reference/jak1/levels/maincave/dark-crystal_REF.gc @@ -519,8 +519,8 @@ part-tracker :init part-tracker-init (if (-> self underwater?) - (-> *part-group-id-table* 323) - (-> *part-group-id-table* 322) + group-dark-crystal-water-explode + group-dark-crystal-gnd-explode ) -1 #f diff --git a/test/decompiler/reference/jak1/levels/maincave/driller-lurker_REF.gc b/test/decompiler/reference/jak1/levels/maincave/driller-lurker_REF.gc index 1d64b53d19..7344e30623 100644 --- a/test/decompiler/reference/jak1/levels/maincave/driller-lurker_REF.gc +++ b/test/decompiler/reference/jak1/levels/maincave/driller-lurker_REF.gc @@ -1100,7 +1100,7 @@ (set! (-> this sound2) (new 'process 'ambient-sound (static-sound-spec "drill-idle2" :fo-max 60) (-> this root-overeride trans)) ) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 331) this)) + (set! (-> this part) (create-launch-control group-driller-lurker-drilling-debris this)) (let ((f0-34 (path-distance (-> this path)))) (set! (-> this path-units-per-meter) (/ 4096.0 f0-34)) ) diff --git a/test/decompiler/reference/jak1/levels/maincave/gnawer_REF.gc b/test/decompiler/reference/jak1/levels/maincave/gnawer_REF.gc index a3405c2912..3bc2dbb476 100644 --- a/test/decompiler/reference/jak1/levels/maincave/gnawer_REF.gc +++ b/test/decompiler/reference/jak1/levels/maincave/gnawer_REF.gc @@ -1514,7 +1514,7 @@ (if (< (-> this path curve num-cverts) 2) (go process-drawable-art-error "bad path") ) - (set! (-> this part2) (create-launch-control (-> *part-group-id-table* 330) this)) + (set! (-> this part2) (create-launch-control group-gnawer-crumbs this)) (set! (-> this total-money) 0) (set! (-> this money-mask) (the-as uint 0)) (set! sv-32 (new 'static 'res-tag)) @@ -1547,7 +1547,7 @@ ) ) ) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 329) this)) + (set! (-> this part) (create-launch-control group-gnawer-loses-segment this)) (set! (-> this sound) (new 'process 'ambient-sound (static-sound-spec "gnawer-crawl" :fo-min 30 :fo-max 30) (-> this root trans)) ) diff --git a/test/decompiler/reference/jak1/levels/maincave/mother-spider-egg_REF.gc b/test/decompiler/reference/jak1/levels/maincave/mother-spider-egg_REF.gc index b72c3ade34..8b6f932334 100644 --- a/test/decompiler/reference/jak1/levels/maincave/mother-spider-egg_REF.gc +++ b/test/decompiler/reference/jak1/levels/maincave/mother-spider-egg_REF.gc @@ -355,7 +355,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 324) + group-spider-egg-hatches -1 #f #f @@ -393,7 +393,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 325) + group-spider-egg-explodes -1 #f #f @@ -428,7 +428,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 325) + group-spider-egg-explodes -1 #f #f diff --git a/test/decompiler/reference/jak1/levels/maincave/mother-spider-proj_REF.gc b/test/decompiler/reference/jak1/levels/maincave/mother-spider-proj_REF.gc index 6320592357..b71a197a27 100644 --- a/test/decompiler/reference/jak1/levels/maincave/mother-spider-proj_REF.gc +++ b/test/decompiler/reference/jak1/levels/maincave/mother-spider-proj_REF.gc @@ -339,7 +339,7 @@ ;; INFO: Used lq/sq ;; INFO: Return type mismatch sound-id vs none. (defmethod projectile-method-27 ((this mother-spider-proj)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 326) this)) + (set! (-> this part) (create-launch-control group-mother-spider-proj-fly this)) (set! (-> this max-speed) 32768.0) (set! (-> this update-velocity) mother-spider-proj-update-velocity) (set! (-> this max-turn) 5916.4443) @@ -391,7 +391,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 327) + group-mother-spider-proj-hit -1 #f #f @@ -415,7 +415,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 328) + group-mother-spider-proj-die -1 #f #f diff --git a/test/decompiler/reference/jak1/levels/maincave/mother-spider_REF.gc b/test/decompiler/reference/jak1/levels/maincave/mother-spider_REF.gc index 94b013fa2c..234e5ede04 100644 --- a/test/decompiler/reference/jak1/levels/maincave/mother-spider_REF.gc +++ b/test/decompiler/reference/jak1/levels/maincave/mother-spider_REF.gc @@ -191,7 +191,7 @@ ) (set! (-> self gravity) (rand-vu-float-range -266240.0 -163840.0)) (initialize-skeleton self *mother-spider-leg-sg* '()) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 614) self)) + (set! (-> self part) (create-launch-control group-mother-spider-leg self)) (create-connection! *cavecrystal-light-control* self @@ -1765,7 +1765,7 @@ (new 'process 'fact-info-enemy this (pickup-type eco-pill-random) (-> *FACT-bank* default-pill-inc)) ) (set! (-> this draw shadow-ctrl) (new 'process 'shadow-control 0.0 0.0 4096000.0 (the-as float 60) 245760.0)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 618) this)) + (set! (-> this part) (create-launch-control group-mother-spider-leg-socket this)) (logior! (-> this skel status) (janim-status inited)) (let ((v0-30 (new 'process 'joint-mod (joint-mod-handler-mode reset) this 19))) (set! (-> this neck) v0-30) diff --git a/test/decompiler/reference/jak1/levels/misty/balloonlurker_REF.gc b/test/decompiler/reference/jak1/levels/misty/balloonlurker_REF.gc index 9c38a4d369..178752306d 100644 --- a/test/decompiler/reference/jak1/levels/misty/balloonlurker_REF.gc +++ b/test/decompiler/reference/jak1/levels/misty/balloonlurker_REF.gc @@ -790,7 +790,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 204) + group-balloonlurker-mine-explosion -1 #f #f @@ -929,7 +929,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 203) + group-balloonlurker-pilot-death -1 #f #f diff --git a/test/decompiler/reference/jak1/levels/misty/misty-conveyor_REF.gc b/test/decompiler/reference/jak1/levels/misty/misty-conveyor_REF.gc index 7d625f79e0..281172af8c 100644 --- a/test/decompiler/reference/jak1/levels/misty/misty-conveyor_REF.gc +++ b/test/decompiler/reference/jak1/levels/misty/misty-conveyor_REF.gc @@ -160,7 +160,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 71) + group-crate-explode 20 #f #f @@ -336,7 +336,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 197) + group-keg-bounce -1 keg-bounce-set-particle-rotation-callback (-> self ppointer) diff --git a/test/decompiler/reference/jak1/levels/misty/misty-obs_REF.gc b/test/decompiler/reference/jak1/levels/misty/misty-obs_REF.gc index 565637f281..8dfd85e561 100644 --- a/test/decompiler/reference/jak1/levels/misty/misty-obs_REF.gc +++ b/test/decompiler/reference/jak1/levels/misty/misty-obs_REF.gc @@ -1097,7 +1097,7 @@ (process-drawable-from-entity! this arg0) (initialize-skeleton this *boatpaddle-sg* '()) (logclear! (-> this mask) (process-mask actor-pause)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 196) this)) + (set! (-> this part) (create-launch-control group-misty-boat-paddle this)) (go boatpaddle-idle) (none) ) @@ -1166,7 +1166,7 @@ (logclear! (-> this mask) (process-mask actor-pause)) (set! (-> this spawn-particle-enable) (= (res-lump-value arg0 'particle-select uint128) 1)) (if (-> this spawn-particle-enable) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 191) this)) + (set! (-> this part) (create-launch-control group-windturbine-particles this)) ) (initialize-skeleton this *windturbine-sg* '()) (go windturbine-idle) @@ -1379,23 +1379,23 @@ (cond ((= (the-as uint v1-40) 1) (set! (-> this fall-anim-index) 2) - (set! (-> this particle-group) (-> *part-group-id-table* 192)) + (set! (-> this particle-group) group-misty-bone-01) ) ((= (the-as uint v1-40) 2) (set! (-> this fall-anim-index) 3) - (set! (-> this particle-group) (-> *part-group-id-table* 194)) + (set! (-> this particle-group) group-misty-bone-02) ) ((= (the-as uint v1-40) 3) (set! (-> this fall-anim-index) 2) - (set! (-> this particle-group) (-> *part-group-id-table* 193)) + (set! (-> this particle-group) group-misty-bone-03) ) ((= (the-as uint v1-40) 7) (set! (-> this fall-anim-index) 4) - (set! (-> this particle-group) (-> *part-group-id-table* 195)) + (set! (-> this particle-group) group-misty-bone-07) ) (else (set! (-> this fall-anim-index) 2) - (set! (-> this particle-group) (-> *part-group-id-table* 192)) + (set! (-> this particle-group) group-misty-bone-01) ) ) ) diff --git a/test/decompiler/reference/jak1/levels/misty/mistycannon_REF.gc b/test/decompiler/reference/jak1/levels/misty/mistycannon_REF.gc index 696e699c35..ab1c050c3a 100644 --- a/test/decompiler/reference/jak1/levels/misty/mistycannon_REF.gc +++ b/test/decompiler/reference/jak1/levels/misty/mistycannon_REF.gc @@ -1031,8 +1031,8 @@ (set! (-> self root transv quad) (-> arg0 vel quad)) (set! (-> self blast-radius) (-> arg0 blast-radius)) (set! (-> self water-height) (res-lump-float (-> self entity) 'water-height :default -4096000.0)) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 117) self)) - (set! (-> self part2) (create-launch-control (-> *part-group-id-table* 118) self)) + (set! (-> self part) (create-launch-control group-beach-sack-fuse self)) + (set! (-> self part2) (create-launch-control group-beach-sack-explosion self)) (go mistycannon-missile-idle) (none) ) @@ -1866,7 +1866,7 @@ ) (set! (-> this accuracy-range) 16384.0) (mistycannon-pick-random-target-point) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 119) this)) + (set! (-> this part) (create-launch-control group-beach-cannon-fire this)) (set! (-> this part-timer) (+ (current-time) (seconds -10))) (set! (-> this postbindinfo-ok) #f) (let ((v1-79 (-> this rotate))) diff --git a/test/decompiler/reference/jak1/levels/misty/quicksandlurker_REF.gc b/test/decompiler/reference/jak1/levels/misty/quicksandlurker_REF.gc index 1f2772f1c2..4a9a164a7b 100644 --- a/test/decompiler/reference/jak1/levels/misty/quicksandlurker_REF.gc +++ b/test/decompiler/reference/jak1/levels/misty/quicksandlurker_REF.gc @@ -379,7 +379,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 200) + group-quicksandlurker-missile-impact -1 #f #f @@ -441,7 +441,7 @@ (set! (-> self root quat vec quad) (-> (the-as process-drawable (-> self parent 0)) root quat vec quad)) (vector-identity! (-> self root scale)) (set! (-> self root transv quad) (-> arg0 velocity quad)) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 198) self)) + (set! (-> self part) (create-launch-control group-quicksandlurker-missile self)) (go quicksandlurker-missile-idle) (none) ) @@ -744,7 +744,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 199) + group-quicksandlurker-pre-missile -1 #f #f @@ -848,7 +848,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 201) + group-quicksandlurker-hide -1 #f #f @@ -872,7 +872,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 202) + group-quicksandlurker-popup -1 #f #f diff --git a/test/decompiler/reference/jak1/levels/misty/sidekick-human_REF.gc b/test/decompiler/reference/jak1/levels/misty/sidekick-human_REF.gc index 09adba065f..8b3b21d76b 100644 --- a/test/decompiler/reference/jak1/levels/misty/sidekick-human_REF.gc +++ b/test/decompiler/reference/jak1/levels/misty/sidekick-human_REF.gc @@ -1305,7 +1305,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 557) + group-evilsib-appear -1 #f #f @@ -1507,7 +1507,7 @@ (send-event (handle->process (-> self evilbro)) 'eval - (lambda :behavior sequenceB () (let ((v0-0 (create-launch-control (-> *part-group-id-table* 558) self))) + (lambda :behavior sequenceB () (let ((v0-0 (create-launch-control group-evilsib-hover self))) (set! (-> self part) v0-0) v0-0 ) @@ -1532,7 +1532,7 @@ (send-event (handle->process (-> self evilsis)) 'eval - (lambda :behavior sequenceB () (let ((v0-0 (create-launch-control (-> *part-group-id-table* 558) self))) + (lambda :behavior sequenceB () (let ((v0-0 (create-launch-control group-evilsib-hover self))) (set! (-> self part) v0-0) v0-0 ) @@ -1617,7 +1617,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 561) + group-sequenceC-exploding-can -1 #f #f @@ -1672,7 +1672,7 @@ (-> self draw art-group) (-> (the-as process-taskable (-> self parent 0)) entity) ) - (let ((v0-1 (create-launch-control (-> *part-group-id-table* 560) self))) + (let ((v0-1 (create-launch-control group-sequenceC-glowing-can self))) (set! (-> self part) v0-1) v0-1 ) @@ -1780,7 +1780,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 562) + group-sequenceC-dark-splash -1 #f #f diff --git a/test/decompiler/reference/jak1/levels/ogre/flying-lurker_REF.gc b/test/decompiler/reference/jak1/levels/ogre/flying-lurker_REF.gc index 3954900b5d..9cc8af3c82 100644 --- a/test/decompiler/reference/jak1/levels/ogre/flying-lurker_REF.gc +++ b/test/decompiler/reference/jak1/levels/ogre/flying-lurker_REF.gc @@ -187,7 +187,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 474) + group-tntbarrel-explosion -1 #f #f diff --git a/test/decompiler/reference/jak1/levels/ogre/ogre-obs_REF.gc b/test/decompiler/reference/jak1/levels/ogre/ogre-obs_REF.gc index c5e8d10a8a..921a6e73dd 100644 --- a/test/decompiler/reference/jak1/levels/ogre/ogre-obs_REF.gc +++ b/test/decompiler/reference/jak1/levels/ogre/ogre-obs_REF.gc @@ -336,7 +336,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 473) + group-tntbarrel-BIG-explosion -1 #f #f @@ -347,7 +347,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 474) + group-tntbarrel-explosion -1 #f #f @@ -1050,7 +1050,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 466) + group-ogre-bridge-splash -1 #f #f @@ -1559,7 +1559,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 475) + group-shortcut-boulder-explosion -1 #f #f diff --git a/test/decompiler/reference/jak1/levels/ogre/ogreboss_REF.gc b/test/decompiler/reference/jak1/levels/ogre/ogreboss_REF.gc index 4fdd8f39a0..1396193698 100644 --- a/test/decompiler/reference/jak1/levels/ogre/ogreboss_REF.gc +++ b/test/decompiler/reference/jak1/levels/ogre/ogreboss_REF.gc @@ -165,7 +165,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 471) + group-ogreboss-missile-impact -1 #f #f @@ -412,7 +412,7 @@ (the-as float 2730.6667) ) ) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 469) self)) + (set! (-> self part) (create-launch-control group-ogreboss-missile self)) (set-vector! (-> self draw color-emissive) 0.125 0.0625 0.0 0.0) (go ogreboss-missile-idle) (none) @@ -571,7 +571,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 471) + group-ogreboss-missile-impact -1 #f #f @@ -819,7 +819,7 @@ ) ) (set! (-> self joint) (new 'process 'joint-mod-blend-local self 3 #f)) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 468) self)) + (set! (-> self part) (create-launch-control group-ogreboss-boulder-grow self)) (set-vector! (-> self draw color-emissive) 0.125 0.0625 0.0 0.0) (set! (-> self speed) 1.0) (set! (-> self size) 0.0) @@ -1322,7 +1322,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 470) + group-ogreboss-pre-missile -1 #f #f diff --git a/test/decompiler/reference/jak1/levels/racer_common/racer-part_REF.gc b/test/decompiler/reference/jak1/levels/racer_common/racer-part_REF.gc index dcfd31f7b5..b6f83d954c 100644 --- a/test/decompiler/reference/jak1/levels/racer_common/racer-part_REF.gc +++ b/test/decompiler/reference/jak1/levels/racer_common/racer-part_REF.gc @@ -360,7 +360,7 @@ (when (< (-> this nb-of-particles) (-> this max-nb-of-particles)) (let ((s5-0 (-> this nb-of-particles))) (set! (-> this particles s5-0) (new 'static 'hud-particle)) - (set! (-> this particles s5-0 part) (create-launch-control (-> *part-group-id-table* 111) this)) + (set! (-> this particles s5-0 part) (create-launch-control group-part-hud-racer-heat-backing this)) (set! (-> this particles s5-0 init-pos x) 13.0) (set! (-> this particles s5-0 init-pos y) 370.0) (set! (-> this particles s5-0 init-pos z) 10.0) @@ -371,7 +371,7 @@ (when (< (-> this nb-of-particles) (-> this max-nb-of-particles)) (let ((s5-1 (-> this nb-of-particles))) (set! (-> this particles s5-1) (new 'static 'hud-particle)) - (set! (-> this particles s5-1 part) (create-launch-control (-> *part-group-id-table* 112) this)) + (set! (-> this particles s5-1 part) (create-launch-control group-part-hud-racer-heat-dial this)) (set! (-> this particles s5-1 init-pos x) 70.0) (set! (-> this particles s5-1 init-pos y) 370.0) (set! (-> this particles s5-1 init-pos z) 6.0) @@ -382,7 +382,7 @@ (when (< (-> this nb-of-particles) (-> this max-nb-of-particles)) (let ((s5-2 (-> this nb-of-particles))) (set! (-> this particles s5-2) (new 'static 'hud-particle)) - (set! (-> this particles s5-2 part) (create-launch-control (-> *part-group-id-table* 113) this)) + (set! (-> this particles s5-2 part) (create-launch-control group-part-hud-racer-heat this)) (set! (-> this particles s5-2 init-pos x) 20.0) (set! (-> this particles s5-2 init-pos y) 370.0) (set! (-> this particles s5-2 init-pos z) 1.0) @@ -393,7 +393,7 @@ (when (< (-> this nb-of-particles) (-> this max-nb-of-particles)) (let ((s5-3 (-> this nb-of-particles))) (set! (-> this particles s5-3) (new 'static 'hud-particle)) - (set! (-> this particles s5-3 part) (create-launch-control (-> *part-group-id-table* 114) this)) + (set! (-> this particles s5-3 part) (create-launch-control group-part-hud-racer-heat-slice this)) (set! (-> this particles s5-3 init-pos x) 70.0) (set! (-> this particles s5-3 init-pos y) 370.0) (set! (-> this particles s5-3 init-pos z) 7.0) @@ -443,7 +443,7 @@ (when (< (-> this nb-of-particles) (-> this max-nb-of-particles)) (let ((s5-0 (-> this nb-of-particles))) (set! (-> this particles s5-0) (new 'static 'hud-particle)) - (set! (-> this particles s5-0 part) (create-launch-control (-> *part-group-id-table* 108) this)) + (set! (-> this particles s5-0 part) (create-launch-control group-part-hud-racer-speed-dial this)) (set! (-> this particles s5-0 init-pos x) 433.0) (set! (-> this particles s5-0 init-pos y) 370.0) (set! (-> this particles s5-0 init-pos z) 3.0) @@ -454,7 +454,7 @@ (when (< (-> this nb-of-particles) (-> this max-nb-of-particles)) (let ((s5-1 (-> this nb-of-particles))) (set! (-> this particles s5-1) (new 'static 'hud-particle)) - (set! (-> this particles s5-1 part) (create-launch-control (-> *part-group-id-table* 109) this)) + (set! (-> this particles s5-1 part) (create-launch-control group-part-hud-racer-speed this)) (set! (-> this particles s5-1 init-pos x) 378.0) (set! (-> this particles s5-1 init-pos y) 370.0) (set! (-> this particles s5-1 init-pos z) 5.0) @@ -465,7 +465,7 @@ (when (< (-> this nb-of-particles) (-> this max-nb-of-particles)) (let ((s5-2 (-> this nb-of-particles))) (set! (-> this particles s5-2) (new 'static 'hud-particle)) - (set! (-> this particles s5-2 part) (create-launch-control (-> *part-group-id-table* 110) this)) + (set! (-> this particles s5-2 part) (create-launch-control group-part-hud-racer-speed-front this)) (set! (-> this particles s5-2 init-pos x) 415.0) (set! (-> this particles s5-2 init-pos y) 370.0) (set! (-> this particles s5-2 init-pos z) 1.0) diff --git a/test/decompiler/reference/jak1/levels/racer_common/racer-states_REF.gc b/test/decompiler/reference/jak1/levels/racer_common/racer-states_REF.gc index 312e34d47f..b8d3eb3f47 100644 --- a/test/decompiler/reference/jak1/levels/racer_common/racer-states_REF.gc +++ b/test/decompiler/reference/jak1/levels/racer_common/racer-states_REF.gc @@ -865,7 +865,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 116) + group-racer-explode -1 #f #f @@ -957,7 +957,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 32) + group-lava-death -1 #f #f diff --git a/test/decompiler/reference/jak1/levels/racer_common/racer_REF.gc b/test/decompiler/reference/jak1/levels/racer_common/racer_REF.gc index cdb708a877..996863e89c 100644 --- a/test/decompiler/reference/jak1/levels/racer_common/racer_REF.gc +++ b/test/decompiler/reference/jak1/levels/racer_common/racer_REF.gc @@ -410,7 +410,7 @@ (set! (-> this fact) (new 'process 'fact-info this (pickup-type eco-pill-random) (-> *FACT-bank* default-pill-inc)) ) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 115) this)) + (set! (-> this part) (create-launch-control group-racer-trans-pad this)) (dotimes (s5-1 2) (let ((v1-32 (new 'process 'curve-control this 'path (the float (+ s5-1 1))))) (set! (-> this path-data s5-1) v1-32) diff --git a/test/decompiler/reference/jak1/levels/racer_common/target-racer_REF.gc b/test/decompiler/reference/jak1/levels/racer_common/target-racer_REF.gc index ea4cff3dc8..17c5d51073 100644 --- a/test/decompiler/reference/jak1/levels/racer_common/target-racer_REF.gc +++ b/test/decompiler/reference/jak1/levels/racer_common/target-racer_REF.gc @@ -428,7 +428,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 13) + group-land-poof-stone -1 #f #f diff --git a/test/decompiler/reference/jak1/levels/robocave/spider-egg_REF.gc b/test/decompiler/reference/jak1/levels/robocave/spider-egg_REF.gc index 283643d440..2bb529f162 100644 --- a/test/decompiler/reference/jak1/levels/robocave/spider-egg_REF.gc +++ b/test/decompiler/reference/jak1/levels/robocave/spider-egg_REF.gc @@ -124,7 +124,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 324) + group-spider-egg-hatches -1 #f #f @@ -182,7 +182,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 325) + group-spider-egg-explodes -1 #f #f 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 28da7d0591..aa7e76b742 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 @@ -1381,7 +1381,7 @@ (set! (-> this root) (new 'process 'trsqv)) (process-drawable-from-entity! this arg0) (initialize-skeleton this *lightning-mole-sg* '()) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 456) this)) + (set! (-> this part) (create-launch-control group-peeper this)) (set! (-> this sound) (new 'process 'ambient-sound arg0 (-> this root trans))) (go peeper-up) (none) diff --git a/test/decompiler/reference/jak1/levels/rolling/rolling-obs_REF.gc b/test/decompiler/reference/jak1/levels/rolling/rolling-obs_REF.gc index 0f50f67a98..f7aafaa21c 100644 --- a/test/decompiler/reference/jak1/levels/rolling/rolling-obs_REF.gc +++ b/test/decompiler/reference/jak1/levels/rolling/rolling-obs_REF.gc @@ -526,7 +526,7 @@ (set! (-> this root) (new 'process 'trsqv)) (process-drawable-from-entity! this arg0) (initialize-skeleton this *dark-plant-sg* '()) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 455) this)) + (set! (-> this part) (create-launch-control group-dark-plant this)) (set! (-> this num-alts) (min 4 (entity-actor-count (-> this entity) 'alt-actor))) (dotimes (s5-3 (-> this num-alts)) (set! (-> this alts s5-3) (entity-actor-lookup (-> this entity) 'alt-actor s5-3)) diff --git a/test/decompiler/reference/jak1/levels/rolling/rolling-race-ring_REF.gc b/test/decompiler/reference/jak1/levels/rolling/rolling-race-ring_REF.gc index 9f6e494b5e..a77d87c8c7 100644 --- a/test/decompiler/reference/jak1/levels/rolling/rolling-race-ring_REF.gc +++ b/test/decompiler/reference/jak1/levels/rolling/rolling-race-ring_REF.gc @@ -613,7 +613,7 @@ (set! (-> self part-track) (ppointer->handle (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 460) + group-rolling-ring-blue -1 race-ring-blue-set-particle-rotation-callback (-> self ppointer) @@ -630,7 +630,7 @@ (set! (-> self part-track) (ppointer->handle (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 457) + group-rolling-ring -1 race-ring-set-particle-rotation-callback (-> self ppointer) @@ -665,7 +665,7 @@ (set! (-> self part-track) (ppointer->handle (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 461) + group-rolling-spawn-ring-blue -1 race-ring-blue-set-particle-rotation-callback (-> self ppointer) @@ -678,7 +678,7 @@ (set! (-> self part-track) (ppointer->handle (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 458) + group-rolling-spawn-ring -1 race-ring-set-particle-rotation-callback (-> self ppointer) @@ -704,7 +704,7 @@ (set! (-> self part-track) (ppointer->handle (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 462) + group-rolling-explode-ring-blue -1 race-ring-blue-set-particle-rotation-callback (-> self ppointer) @@ -717,7 +717,7 @@ (set! (-> self part-track) (ppointer->handle (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 459) + group-rolling-explode-ring -1 race-ring-set-particle-rotation-callback (-> self ppointer) @@ -753,7 +753,7 @@ (set! (-> self part-track) (ppointer->handle (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 460) + group-rolling-ring-blue -1 race-ring-blue-set-particle-rotation-callback (-> self ppointer) @@ -769,7 +769,7 @@ (set! (-> self part-track) (ppointer->handle (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 457) + group-rolling-ring -1 race-ring-set-particle-rotation-callback (-> self ppointer) 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 a8d8d93920..762561f83e 100644 --- a/test/decompiler/reference/jak1/levels/snow/ice-cube_REF.gc +++ b/test/decompiler/reference/jak1/levels/snow/ice-cube_REF.gc @@ -635,10 +635,10 @@ ;; definition for method 11 of type ice-cube ;; INFO: Return type mismatch object vs none. (defmethod init-from-entity! ((this ice-cube) (arg0 entity-actor)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 507) this)) - (set! (-> this part2) (create-launch-control (-> *part-group-id-table* 508) this)) - (set! (-> this part3) (create-launch-control (-> *part-group-id-table* 509) this)) - (set! (-> this part4) (create-launch-control (-> *part-group-id-table* 567) this)) + (set! (-> this part) (create-launch-control group-ice-cube-appear1 this)) + (set! (-> this part2) (create-launch-control group-ice-cube-appear2 this)) + (set! (-> this part3) (create-launch-control group-ice-cube-shatter this)) + (set! (-> this part4) (create-launch-control group-ice-cube-foot-puff this)) (initialize-collision this) (nav-enemy-method-48 this) (let ((s4-0 (-> this path curve num-cverts))) diff --git a/test/decompiler/reference/jak1/levels/snow/snow-bumper_REF.gc b/test/decompiler/reference/jak1/levels/snow/snow-bumper_REF.gc index ab10ca6118..71d549cbc8 100644 --- a/test/decompiler/reference/jak1/levels/snow/snow-bumper_REF.gc +++ b/test/decompiler/reference/jak1/levels/snow/snow-bumper_REF.gc @@ -362,8 +362,8 @@ ) (process-drawable-from-entity! this arg0) (initialize-skeleton this *snow-bumper-sg* '()) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 519) this)) - (set! (-> this part2) (create-launch-control (-> *part-group-id-table* 520) this)) + (set! (-> this part) (create-launch-control group-snow-bumper-idle this)) + (set! (-> this part2) (create-launch-control group-snow-bumper-shove this)) (nav-mesh-connect this (-> this root) (the-as nav-control #f)) (set! (-> this link) (new 'process 'actor-link-info this)) (set! (-> this bumper-id) (+ (actor-count-before (-> this link)) 1)) diff --git a/test/decompiler/reference/jak1/levels/snow/snow-flutflut-obs_REF.gc b/test/decompiler/reference/jak1/levels/snow/snow-flutflut-obs_REF.gc index 2b157af4f9..9044fd4731 100644 --- a/test/decompiler/reference/jak1/levels/snow/snow-flutflut-obs_REF.gc +++ b/test/decompiler/reference/jak1/levels/snow/snow-flutflut-obs_REF.gc @@ -932,7 +932,7 @@ ;; definition for method 25 of type flutflut-plat-small ;; INFO: Return type mismatch sparticle-launch-control vs sparticle-launch-group. (defmethod baseplat-method-25 ((this flutflut-plat-small)) - (let ((v0-0 (create-launch-control (-> *part-group-id-table* 516) this))) + (let ((v0-0 (create-launch-control group-flutflut-plat-small this))) (set! (-> this part) v0-0) (the-as sparticle-launch-group v0-0) ) @@ -994,7 +994,7 @@ ;; definition for method 25 of type flutflut-plat-med ;; INFO: Return type mismatch sparticle-launch-control vs sparticle-launch-group. (defmethod baseplat-method-25 ((this flutflut-plat-med)) - (let ((v0-0 (create-launch-control (-> *part-group-id-table* 517) this))) + (let ((v0-0 (create-launch-control group-flutflut-plat-med this))) (set! (-> this part) v0-0) (the-as sparticle-launch-group v0-0) ) @@ -1035,7 +1035,7 @@ ;; definition for method 25 of type flutflut-plat-large ;; INFO: Return type mismatch sparticle-launch-control vs sparticle-launch-group. (defmethod baseplat-method-25 ((this flutflut-plat-large)) - (let ((v0-0 (create-launch-control (-> *part-group-id-table* 518) this))) + (let ((v0-0 (create-launch-control group-flutflut-plat-large this))) (set! (-> this part) v0-0) (the-as sparticle-launch-group v0-0) ) diff --git a/test/decompiler/reference/jak1/levels/snow/snow-obs_REF.gc b/test/decompiler/reference/jak1/levels/snow/snow-obs_REF.gc index bafe818e30..a7c64a3ef1 100644 --- a/test/decompiler/reference/jak1/levels/snow/snow-obs_REF.gc +++ b/test/decompiler/reference/jak1/levels/snow/snow-obs_REF.gc @@ -361,7 +361,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 511) + group-snow-yellow-eco-room-activate -1 #f #f @@ -474,7 +474,7 @@ (set! (-> this spawn-trans quad) (-> this root trans quad)) (+! (-> this root trans y) -2662.4) (update-transforms! (-> this root)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 510) this)) + (set! (-> this part) (create-launch-control group-snow-yellow-eco-room-open this)) (set! (-> this sound) (new 'process 'ambient-sound (static-sound-spec "electric-loop" :fo-max 40) (-> this root trans)) ) @@ -1096,9 +1096,9 @@ ) (process-drawable-from-entity! this arg0) (initialize-skeleton this *snow-fort-gate-sg* '()) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 512) this)) - (set! (-> this part2) (create-launch-control (-> *part-group-id-table* 513) this)) - (set! (-> this part3) (create-launch-control (-> *part-group-id-table* 514) this)) + (set! (-> this part) (create-launch-control group-snow-fort-gate-coming-down this)) + (set! (-> this part2) (create-launch-control group-snow-fort-gate-hits-bottom this)) + (set! (-> this part3) (create-launch-control group-snow-fort-gate-snowdrops this)) (set! (-> this open-trans quad) (-> this root trans quad)) (set! (-> this closed-trans quad) (-> this open-trans quad)) (+! (-> this open-trans y) -141312.0) @@ -1334,7 +1334,7 @@ (set! (-> this root) (new 'process 'trsqv)) (process-drawable-from-entity! this arg0) (initialize-skeleton this *snow-gears-sg* '()) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 515) this)) + (set! (-> this part) (create-launch-control group-snow-gears-dripping this)) (set! (-> this sound) (new 'process 'ambient-sound (static-sound-spec "snow-engine" :fo-max 300) (-> this root trans)) ) 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 bb965e9e49..f33280b323 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 @@ -606,8 +606,8 @@ ;; INFO: Return type mismatch int vs none. (defmethod projectile-method-27 ((this ram-boss-proj)) (set! (-> this charge-sound-id) (new 'static 'sound-id)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 521) this)) - (set! (-> this part2) (create-launch-control (-> *part-group-id-table* 522) this)) + (set! (-> this part) (create-launch-control group-ram-boss-proj-grow this)) + (set! (-> this part2) (create-launch-control group-ram-boss-proj-fly this)) (set! (-> this launched?) #f) (set! (-> this growth) 0.0) (set! (-> this max-speed) 40960.0) @@ -749,7 +749,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 523) + group-ram-boss-proj-hit -1 #f #f @@ -773,7 +773,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 524) + group-ram-boss-proj-die -1 #f #f @@ -1160,8 +1160,8 @@ (set! (-> this draw origin-joint-index) (the-as uint 3)) (init-defaults! this *ram-boss-nav-enemy-info*) (logclear! (-> this enemy-info options) (fact-options has-power-cell)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 525) this)) - (set! (-> this part2) (create-launch-control (-> *part-group-id-table* 574) this)) + (set! (-> this part) (create-launch-control group-ram-boss-shield-on-fire this)) + (set! (-> this part2) (create-launch-control group-ram-boss-foot-puff this)) (set! (-> this shield-jmod) (new 'process 'joint-mod-set-local this 32 #f #f #t)) (set! (-> this shield-jmod enable) #f) (set! (-> this has-shield?) #t) diff --git a/test/decompiler/reference/jak1/levels/snow/snow-ram_REF.gc b/test/decompiler/reference/jak1/levels/snow/snow-ram_REF.gc index a831abc16c..b00f938486 100644 --- a/test/decompiler/reference/jak1/levels/snow/snow-ram_REF.gc +++ b/test/decompiler/reference/jak1/levels/snow/snow-ram_REF.gc @@ -406,8 +406,8 @@ (update-transforms! (-> this root)) (set! (-> this orient-ry) (quaternion-y-angle (-> this root quat))) (nav-mesh-connect this (-> this root) (the-as nav-control #f)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 526) this)) - (set! (-> this part2) (create-launch-control (-> *part-group-id-table* 527) this)) + (set! (-> this part) (create-launch-control group-ram-hit-wall this)) + (set! (-> this part2) (create-launch-control group-ram-wheel-puffs this)) (set! (-> this ram-id) (res-lump-value arg0 'extra-id int)) (case (-> this ram-id) ((1) diff --git a/test/decompiler/reference/jak1/levels/snow/yeti_REF.gc b/test/decompiler/reference/jak1/levels/snow/yeti_REF.gc index 7302318f6c..0995db5416 100644 --- a/test/decompiler/reference/jak1/levels/snow/yeti_REF.gc +++ b/test/decompiler/reference/jak1/levels/snow/yeti_REF.gc @@ -575,8 +575,8 @@ ;; INFO: Used lq/sq ;; INFO: Return type mismatch object vs none. (defbehavior yeti-slave-init-by-other yeti-slave ((arg0 entity) (arg1 yeti) (arg2 vector) (arg3 vector) (arg4 symbol)) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 538) self)) - (set! (-> self part2) (create-launch-control (-> *part-group-id-table* 539) self)) + (set! (-> self part) (create-launch-control group-yeti-slave-appear1 self)) + (set! (-> self part2) (create-launch-control group-yeti-slave-appear2 self)) (initialize-collision self) (set! (-> self collide-info trans quad) (-> arg2 quad)) (vector-identity! (-> self collide-info scale)) diff --git a/test/decompiler/reference/jak1/levels/sunken/bully_REF.gc b/test/decompiler/reference/jak1/levels/sunken/bully_REF.gc index 52bd9a19d7..c9b4d242a2 100644 --- a/test/decompiler/reference/jak1/levels/sunken/bully_REF.gc +++ b/test/decompiler/reference/jak1/levels/sunken/bully_REF.gc @@ -825,7 +825,7 @@ (set! (-> this draw shadow-ctrl) *bully-shadow-control*) (set! (-> this nav) (new 'process 'nav-control (-> this root) 16 40960.0)) (logior! (-> this nav flags) (nav-control-flags display-marks navcf3 navcf5 navcf6 navcf7)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 454) this)) + (set! (-> this part) (create-launch-control group-bully-explode this)) (set! (-> this fact) (new 'process 'fact-info-enemy this (pickup-type eco-pill-random) (-> *FACT-bank* default-pill-inc)) ) diff --git a/test/decompiler/reference/jak1/levels/sunken/orbit-plat_REF.gc b/test/decompiler/reference/jak1/levels/sunken/orbit-plat_REF.gc index 7906a418e4..032fe98914 100644 --- a/test/decompiler/reference/jak1/levels/sunken/orbit-plat_REF.gc +++ b/test/decompiler/reference/jak1/levels/sunken/orbit-plat_REF.gc @@ -274,8 +274,8 @@ (quaternion-copy! (-> self root quat) (-> arg1 root quat)) (set! (-> self root scale quad) (-> arg1 root scale quad)) (+! (-> self root trans y) -5324.8) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 440) self)) - (set! (-> self part2) (create-launch-control (-> *part-group-id-table* 107) self)) + (set! (-> self part) (create-launch-control group-orbit-plat-jet self)) + (set! (-> self part2) (create-launch-control group-standard-plat self)) (initialize-skeleton self *orbit-plat-bottom-sg* '()) (ja-channel-set! 1) (ja :group! orbit-plat-bottom-idle-ja :num! min) diff --git a/test/decompiler/reference/jak1/levels/sunken/square-platform_REF.gc b/test/decompiler/reference/jak1/levels/sunken/square-platform_REF.gc index c22d9c519a..273d553bfd 100644 --- a/test/decompiler/reference/jak1/levels/sunken/square-platform_REF.gc +++ b/test/decompiler/reference/jak1/levels/sunken/square-platform_REF.gc @@ -511,9 +511,9 @@ ) (set! (-> this basetrans quad) (-> this down-pos quad)) (set! (-> this root trans quad) (-> this basetrans quad)) - (set! (-> this part2) (create-launch-control (-> *part-group-id-table* 437) this)) - (set! (-> this part3) (create-launch-control (-> *part-group-id-table* 438) this)) - (set! (-> this part4) (create-launch-control (-> *part-group-id-table* 439) this)) + (set! (-> this part2) (create-launch-control group-square-platform-breach-splash this)) + (set! (-> this part3) (create-launch-control group-square-platform-submerge-bubbles this)) + (set! (-> this part4) (create-launch-control group-square-platform-submerge-splash this)) (set! (-> this water-entity) (entity-actor-lookup arg0 'alt-actor 0)) (ja-post) (update-transforms! (-> this root)) diff --git a/test/decompiler/reference/jak1/levels/sunken/steam-cap_REF.gc b/test/decompiler/reference/jak1/levels/sunken/steam-cap_REF.gc index 923026a14b..5ebb6b1aef 100644 --- a/test/decompiler/reference/jak1/levels/sunken/steam-cap_REF.gc +++ b/test/decompiler/reference/jak1/levels/sunken/steam-cap_REF.gc @@ -777,9 +777,9 @@ (set! (-> this down quad) (-> this root trans quad)) (set! (-> this up quad) (-> this root trans quad)) (+! (-> this up y) 40960.0) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 441) this)) - (set! (-> this part2) (create-launch-control (-> *part-group-id-table* 442) this)) - (set! (-> this part3) (create-launch-control (-> *part-group-id-table* 443) this)) + (set! (-> this part) (create-launch-control group-steam-cap-sides this)) + (set! (-> this part2) (create-launch-control group-steam-cap-plume this)) + (set! (-> this part3) (create-launch-control group-steam-cap-plume-spread this)) (vector-reset! (-> this root transv)) (let ((s5-1 (new 'stack-no-clear 'vector)) (f30-1 0.0) diff --git a/test/decompiler/reference/jak1/levels/sunken/sun-exit-chamber_REF.gc b/test/decompiler/reference/jak1/levels/sunken/sun-exit-chamber_REF.gc index c39b02f336..40c4f2efdb 100644 --- a/test/decompiler/reference/jak1/levels/sunken/sun-exit-chamber_REF.gc +++ b/test/decompiler/reference/jak1/levels/sunken/sun-exit-chamber_REF.gc @@ -1135,7 +1135,7 @@ (initialize-skeleton this *exit-chamber-sg* '()) (logior! (-> this skel status) (janim-status inited)) (logclear! (-> this mask) (process-mask actor-pause)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 620) this)) + (set! (-> this part) (create-launch-control group-exit-chamber-ripples this)) (ja-channel-set! 1) (let ((s4-1 (get-reminder (get-task-control (game-task sunken-room)) 0))) (let ((s2-0 #f) diff --git a/test/decompiler/reference/jak1/levels/sunken/sunken-obs_REF.gc b/test/decompiler/reference/jak1/levels/sunken/sunken-obs_REF.gc index 1b9e7efc55..bd2a2e6abc 100644 --- a/test/decompiler/reference/jak1/levels/sunken/sunken-obs_REF.gc +++ b/test/decompiler/reference/jak1/levels/sunken/sunken-obs_REF.gc @@ -156,7 +156,7 @@ ;; definition for method 25 of type side-to-side-plat ;; INFO: Return type mismatch sparticle-launch-control vs sparticle-launch-group. (defmethod baseplat-method-25 ((this side-to-side-plat)) - (let ((v0-0 (create-launch-control (-> *part-group-id-table* 436) this))) + (let ((v0-0 (create-launch-control group-side-to-side-plat this))) (set! (-> this part) v0-0) (the-as sparticle-launch-group v0-0) ) diff --git a/test/decompiler/reference/jak1/levels/sunken/sunken-pipegame_REF.gc b/test/decompiler/reference/jak1/levels/sunken/sunken-pipegame_REF.gc index bcf03a2985..89cfdce752 100644 --- a/test/decompiler/reference/jak1/levels/sunken/sunken-pipegame_REF.gc +++ b/test/decompiler/reference/jak1/levels/sunken/sunken-pipegame_REF.gc @@ -1016,8 +1016,8 @@ (set! (-> s0-0 pipe-travel-time-to-far) (seconds 8.5)) (set! (-> s0-0 pipe-travel-time-to-jar) (seconds 2.5)) (set-vector! s4-0 -30720.0 1146.88 5120.0 1.0) - (set! (-> s0-0 sucked-up-part) (create-launch-control (-> *part-group-id-table* 448) this)) - (set! (-> s0-0 blown-out-part) (create-launch-control (-> *part-group-id-table* 451) this)) + (set! (-> s0-0 sucked-up-part) (create-launch-control group-pipegame-jar-suck0 this)) + (set! (-> s0-0 blown-out-part) (create-launch-control group-pipegame-blow0 this)) (+! (-> s0-0 jar-pos y) 11673.6) (+! (-> s0-0 far-pos y) 11673.6) (when (not s1-1) @@ -1038,8 +1038,8 @@ (set! (-> s0-0 pipe-travel-time-to-far) (seconds 5.5)) (set! (-> s0-0 pipe-travel-time-to-jar) (seconds 2.5)) (set-vector! s4-0 0.0 1146.88 5120.0 1.0) - (set! (-> s0-0 sucked-up-part) (create-launch-control (-> *part-group-id-table* 449) this)) - (set! (-> s0-0 blown-out-part) (create-launch-control (-> *part-group-id-table* 452) this)) + (set! (-> s0-0 sucked-up-part) (create-launch-control group-pipegame-jar-suck1 this)) + (set! (-> s0-0 blown-out-part) (create-launch-control group-pipegame-blow1 this)) (+! (-> s0-0 jar-pos y) 7168.0) (+! (-> s0-0 far-pos y) 7168.0) (+! (-> s0-0 blown-out-far-part-pos y) 4096.0) @@ -1062,8 +1062,8 @@ (set! (-> s0-0 pipe-travel-time-to-far) (seconds 4.5)) (set! (-> s0-0 pipe-travel-time-to-jar) (seconds 2.5)) (set-vector! s4-0 30720.0 1146.88 5120.0 1.0) - (set! (-> s0-0 sucked-up-part) (create-launch-control (-> *part-group-id-table* 450) this)) - (set! (-> s0-0 blown-out-part) (create-launch-control (-> *part-group-id-table* 453) this)) + (set! (-> s0-0 sucked-up-part) (create-launch-control group-pipegame-jar-suck2 this)) + (set! (-> s0-0 blown-out-part) (create-launch-control group-pipegame-blow2 this)) (+! (-> s0-0 jar-pos y) 7168.0) (+! (-> s0-0 far-pos y) 7168.0) (+! (-> s0-0 blown-out-far-part-pos y) 4096.0) diff --git a/test/decompiler/reference/jak1/levels/sunken/whirlpool_REF.gc b/test/decompiler/reference/jak1/levels/sunken/whirlpool_REF.gc index 09e027d1b3..b4a657f8b9 100644 --- a/test/decompiler/reference/jak1/levels/sunken/whirlpool_REF.gc +++ b/test/decompiler/reference/jak1/levels/sunken/whirlpool_REF.gc @@ -398,7 +398,7 @@ (set! (-> this spin-speed-idle) f30-0) (set! (-> this spin-speed-delta) (- f28-0 f30-0)) ) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 447) this)) + (set! (-> this part) (create-launch-control group-whirlpool-swirl this)) (set! (-> this sound) (new 'process 'ambient-sound (static-sound-spec "whirlpool" :fo-max 55) (-> this root trans)) ) diff --git a/test/decompiler/reference/jak1/levels/swamp/kermit_REF.gc b/test/decompiler/reference/jak1/levels/swamp/kermit_REF.gc index 4a1f47867b..60e5c4ad3f 100644 --- a/test/decompiler/reference/jak1/levels/swamp/kermit_REF.gc +++ b/test/decompiler/reference/jak1/levels/swamp/kermit_REF.gc @@ -596,7 +596,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 301) + group-kermit-pulse-impact -1 #f #f @@ -638,7 +638,7 @@ (vector-identity! (-> self root scale)) (vector-reset! (-> self root transv)) (set! (-> self sound-id) (new-sound-id)) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 300) self)) + (set! (-> self part) (create-launch-control group-kermit-pulse self)) (go kermit-pulse-idle) (none) ) @@ -1461,8 +1461,8 @@ nav-enemy-default-event-handler (set! (-> this tongue-control forward-scale-max) 2.0) (set! (-> this tongue-control enable) #f) (set! (-> this charged-up) #t) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 299) this)) - (set! (-> this charging-part) (create-launch-control (-> *part-group-id-table* 298) this)) + (set! (-> this part) (create-launch-control group-kermit-charged-up this)) + (set! (-> this charging-part) (create-launch-control group-kermit-charging-up this)) (set! (-> this sound-id) (new-sound-id)) (go kermit-idle) (none) diff --git a/test/decompiler/reference/jak1/levels/swamp/swamp-obs_REF.gc b/test/decompiler/reference/jak1/levels/swamp/swamp-obs_REF.gc index 1d03a6eaab..6b2aa9e699 100644 --- a/test/decompiler/reference/jak1/levels/swamp/swamp-obs_REF.gc +++ b/test/decompiler/reference/jak1/levels/swamp/swamp-obs_REF.gc @@ -227,7 +227,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 289) + group-swamp-spike-up -1 swamp-spike-set-particle-rotation-callback (-> self ppointer) @@ -252,7 +252,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 290) + group-swamp-spike-down -1 swamp-spike-set-particle-rotation-callback (-> self ppointer) @@ -297,7 +297,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 290) + group-swamp-spike-down -1 swamp-spike-set-particle-rotation-callback (-> self ppointer) @@ -642,7 +642,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 291) + group-swamp-rock-explosion -1 #f #f @@ -700,7 +700,7 @@ ) (initialize-skeleton this *swamp-rock-sg* '()) (nav-mesh-connect this (-> this root) (the-as nav-control #f)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 291) this)) + (set! (-> this part) (create-launch-control group-swamp-rock-explosion this)) (go swamp-rock-idle) (none) ) @@ -733,7 +733,7 @@ (set! (-> self root trans quad) (-> arg0 quad)) (initialize-skeleton self *swamp-rock-sg* '()) (nav-mesh-connect self (-> self root) (the-as nav-control #f)) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 291) self)) + (set! (-> self part) (create-launch-control group-swamp-rock-explosion self)) (go swamp-rock-idle) (none) ) diff --git a/test/decompiler/reference/jak1/levels/swamp/swamp-rat-nest_REF.gc b/test/decompiler/reference/jak1/levels/swamp/swamp-rat-nest_REF.gc index f74d3839d4..5053b91b82 100644 --- a/test/decompiler/reference/jak1/levels/swamp/swamp-rat-nest_REF.gc +++ b/test/decompiler/reference/jak1/levels/swamp/swamp-rat-nest_REF.gc @@ -1216,8 +1216,8 @@ swamp-rat-nest-default-event-handler ) (set! (-> this spawn-joint-count) v1-0) ) - (set! (-> this death-part) (-> *part-group-id-table* 292)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 295) this)) + (set! (-> this death-part) group-swamp-rat-nest-a-explosion) + (set! (-> this part) (create-launch-control group-swamp-rat-nest-a-puff this)) (let ((v0-1 6)) (set! (-> this particle-spawn-joint) v0-1) v0-1 @@ -1241,8 +1241,8 @@ swamp-rat-nest-default-event-handler ) (set! (-> this spawn-joint-count) v1-0) ) - (set! (-> this death-part) (-> *part-group-id-table* 293)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 296) this)) + (set! (-> this death-part) group-swamp-rat-nest-b-explosion) + (set! (-> this part) (create-launch-control group-swamp-rat-nest-b-puff this)) (let ((v0-1 9)) (set! (-> this particle-spawn-joint) v0-1) v0-1 @@ -1266,8 +1266,8 @@ swamp-rat-nest-default-event-handler ) (set! (-> this spawn-joint-count) v1-0) ) - (set! (-> this death-part) (-> *part-group-id-table* 294)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 297) this)) + (set! (-> this death-part) group-swamp-rat-nest-c-explosion) + (set! (-> this part) (create-launch-control group-swamp-rat-nest-c-puff this)) (let ((v0-1 5)) (set! (-> this particle-spawn-joint) v0-1) v0-1 diff --git a/test/decompiler/reference/jak1/levels/village1/assistant_REF.gc b/test/decompiler/reference/jak1/levels/village1/assistant_REF.gc index 34083077e1..61f33fc798 100644 --- a/test/decompiler/reference/jak1/levels/village1/assistant_REF.gc +++ b/test/decompiler/reference/jak1/levels/village1/assistant_REF.gc @@ -381,7 +381,7 @@ (defmethod init-from-entity! ((this assistant) (arg0 entity-actor)) (process-taskable-method-40 this arg0 *assistant-sg* 3 31 (new 'static 'vector :w 4096.0) 5) (set! (-> this bounce-away) #f) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 122) this)) + (set! (-> this part) (create-launch-control group-assistant-torch this)) (set! (-> this tasks) (get-task-control (game-task jungle-eggtop))) (set! (-> this sound-id) (new-sound-id)) (set! (-> this draw light-index) (the-as uint 1)) diff --git a/test/decompiler/reference/jak1/levels/village1/sequence-a-village1_REF.gc b/test/decompiler/reference/jak1/levels/village1/sequence-a-village1_REF.gc index 44a2d77181..ed2eb615bb 100644 --- a/test/decompiler/reference/jak1/levels/village1/sequence-a-village1_REF.gc +++ b/test/decompiler/reference/jak1/levels/village1/sequence-a-village1_REF.gc @@ -367,7 +367,7 @@ (set! (-> self tasks) (get-task-control (game-task intro))) (set! (-> self boat) (the-as handle #f)) (set! (-> self side) (the-as handle #f)) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 688) self)) + (set! (-> self part) (create-launch-control group-sequenceAV-2d-intro-mist self)) (set! (-> self part matrix) (sprite-allocate-user-hvdf)) (set! (-> self cur-trans-hook) sequenceA-village1-trans-hook) (logclear! (-> self mask) (process-mask pause actor-pause)) 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 0aebcbd723..fed6ae7ea3 100644 --- a/test/decompiler/reference/jak1/levels/village1/village-obs_REF.gc +++ b/test/decompiler/reference/jak1/levels/village1/village-obs_REF.gc @@ -329,8 +329,8 @@ (quaternion-copy! (-> this orig-quat) (-> this root-override quat)) (vector-x-quaternion! (-> this blade-normal) (-> this root-override quat)) (vector-normalize! (-> this blade-normal) 1.0) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 123) this)) - (set! (-> this part2) (create-launch-control (-> *part-group-id-table* 124) this)) + (set! (-> this part) (create-launch-control group-win-wind-mill this)) + (set! (-> this part2) (create-launch-control group-win-wind-mill-hires this)) (set! (-> this sound) (new 'process 'ambient-sound arg0 (-> this root-override trans))) (go windmill-sail-idle) (none) diff --git a/test/decompiler/reference/jak1/levels/village2/assistant-village2_REF.gc b/test/decompiler/reference/jak1/levels/village2/assistant-village2_REF.gc index 7a28c43366..9d32212eff 100644 --- a/test/decompiler/reference/jak1/levels/village2/assistant-village2_REF.gc +++ b/test/decompiler/reference/jak1/levels/village2/assistant-village2_REF.gc @@ -720,7 +720,7 @@ ;; definition for method 11 of type assistant-bluehut (defmethod init-from-entity! ((this assistant-bluehut) (arg0 entity-actor)) (process-taskable-method-40 this arg0 *assistant-village2-sg* 3 31 (new 'static 'vector :w 4096.0) 5) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 288) this)) + (set! (-> this part) (create-launch-control group-assistant-bluehut-torch this)) (set! (-> this tasks) (get-task-control (game-task village2-levitator))) (set! (-> this jaws) (the-as handle #f)) (set! (-> this sage) (entity-actor-lookup arg0 'alt-actor 0)) @@ -1513,10 +1513,10 @@ (process-taskable-method-40 this arg0 *assistant-village2-sg* 3 31 (new 'static 'vector :w 4096.0) 5) (set! (-> this tasks) (get-task-control (game-task village2-levitator))) (set! (-> this boulder) (entity-actor-lookup arg0 'alt-actor 0)) - (set! (-> this particle 0) (create-launch-control (-> *part-group-id-table* 658) this)) - (set! (-> this particle 1) (create-launch-control (-> *part-group-id-table* 659) this)) - (set! (-> this particle 2) (create-launch-control (-> *part-group-id-table* 660) this)) - (set! (-> this particle 3) (create-launch-control (-> *part-group-id-table* 661) this)) + (set! (-> this particle 0) (create-launch-control group-levitator-blue-beam this)) + (set! (-> this particle 1) (create-launch-control group-levitator-blue-beam-impact this)) + (set! (-> this particle 2) (create-launch-control group-levitator-on-big this)) + (set! (-> this particle 3) (create-launch-control group-levitator-on-small this)) (set! (-> this sound) (new 'process 'ambient-sound (static-sound-spec "lev-mach-idle" :fo-max 30) (-> this root trans)) ) diff --git a/test/decompiler/reference/jak1/levels/village2/swamp-blimp_REF.gc b/test/decompiler/reference/jak1/levels/village2/swamp-blimp_REF.gc index 66017aa78f..33a3a90c7e 100644 --- a/test/decompiler/reference/jak1/levels/village2/swamp-blimp_REF.gc +++ b/test/decompiler/reference/jak1/levels/village2/swamp-blimp_REF.gc @@ -824,7 +824,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 285) + group-tetherrock-explode -1 #f #f @@ -955,7 +955,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 287) + group-swamp-tether-rock-hit 150 #f #f diff --git a/test/decompiler/reference/jak1/levels/village2/village2-obs_REF.gc b/test/decompiler/reference/jak1/levels/village2/village2-obs_REF.gc index 03af9e483f..2ed9b73a22 100644 --- a/test/decompiler/reference/jak1/levels/village2/village2-obs_REF.gc +++ b/test/decompiler/reference/jak1/levels/village2/village2-obs_REF.gc @@ -589,7 +589,7 @@ (process-drawable-from-entity! this arg0) (initialize-skeleton this *allpontoons-sg* '()) (set! (-> this task) (the-as uint (-> arg0 extra perm task))) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 563) this)) + (set! (-> this part) (create-launch-control group-allpontoons-trail this)) (go allpontoons-idle) (none) ) @@ -666,7 +666,7 @@ (let ((t9-2 (method-of-type part-tracker activate))) (t9-2 (the-as part-tracker gp-1) *entity-pool* 'part-tracker (the-as pointer #x70004000)) ) - (run-now-in-process gp-1 part-tracker-init (-> *part-group-id-table* 678) -1 #f #f #f (-> self root trans)) + (run-now-in-process gp-1 part-tracker-init group-village2-fireboulder-hover -1 #f #f #f (-> self root trans)) (-> gp-1 ppointer) ) ) @@ -773,7 +773,7 @@ (set! (-> self tracker) (ppointer->handle (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 271) + group-village2-fireboulder -1 #f #f @@ -1262,7 +1262,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 552) + group-ogreboulder-splash -1 #f #f @@ -1290,7 +1290,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 552) + group-ogreboulder-splash -1 #f #f @@ -1318,7 +1318,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 551) + group-ogreboulder-hit-wall -1 #f #f @@ -1346,7 +1346,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 552) + group-ogreboulder-splash -1 #f #f @@ -1374,7 +1374,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 551) + group-ogreboulder-hit-wall -1 #f #f @@ -1402,7 +1402,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 552) + group-ogreboulder-splash -1 #f #f @@ -1430,7 +1430,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 551) + group-ogreboulder-hit-wall -1 #f #f @@ -1458,7 +1458,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 551) + group-ogreboulder-hit-wall -1 #f #f @@ -1488,13 +1488,11 @@ (send-event (handle->process (-> self boulder)) 'eval - (lambda :behavior ogreboss-village2 - () - (let ((v0-0 (create-launch-control (-> *part-group-id-table* 564) self))) - (set! (-> self part) v0-0) - v0-0 - ) - ) + (lambda :behavior ogreboss-village2 () (let ((v0-0 (create-launch-control group-ogreboulder-trail self))) + (set! (-> self part) v0-0) + v0-0 + ) + ) ) (ja-channel-push! 1 (seconds 0.2)) (ja-no-eval :group! ogreboss-village2-pre-throw-ja :num! (seek!) :frame-num 0.0) diff --git a/test/decompiler/reference/jak1/levels/village3/miners_REF.gc b/test/decompiler/reference/jak1/levels/village3/miners_REF.gc index 266bff2d39..cbb8316c5c 100644 --- a/test/decompiler/reference/jak1/levels/village3/miners_REF.gc +++ b/test/decompiler/reference/jak1/levels/village3/miners_REF.gc @@ -598,7 +598,7 @@ ;; definition for method 11 of type minershort (defmethod init-from-entity! ((this minershort) (arg0 entity-actor)) (process-taskable-method-40 this arg0 *minershort-sg* 34 46 (new 'static 'vector :w 4096.0) 5) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 566) this)) + (set! (-> this part) (create-launch-control group-minershort-candle this)) (set! (-> this tasks) (get-task-control (game-task village3-miner-money1))) (set! (-> this other-miner) (the-as minertall (entity-actor-lookup arg0 'alt-actor 0))) (set! (-> this cur-trans-hook) minershort-trans-hook) diff --git a/test/decompiler/reference/jak1/levels/village_common/oracle_REF.gc b/test/decompiler/reference/jak1/levels/village_common/oracle_REF.gc index d6521aaf19..9aff19fe32 100644 --- a/test/decompiler/reference/jak1/levels/village_common/oracle_REF.gc +++ b/test/decompiler/reference/jak1/levels/village_common/oracle_REF.gc @@ -283,7 +283,7 @@ (send-event (handle->process (-> this right-eye-cell)) 'eval - (lambda :behavior oracle () (let ((v0-0 (create-launch-control (-> *part-group-id-table* 63) self))) + (lambda :behavior oracle () (let ((v0-0 (create-launch-control group-fuel-cell-starburst self))) (set! (-> self part) v0-0) (the-as sparticle-launch-group v0-0) ) @@ -301,7 +301,7 @@ (send-event (handle->process (-> this left-eye-cell)) 'eval - (lambda :behavior oracle () (let ((v0-0 (create-launch-control (-> *part-group-id-table* 63) self))) + (lambda :behavior oracle () (let ((v0-0 (create-launch-control group-fuel-cell-starburst self))) (set! (-> self part) v0-0) (the-as sparticle-launch-group v0-0) ) diff --git a/test/decompiler/reference/jak2/decompiler-macros.gc b/test/decompiler/reference/jak2/decompiler-macros.gc index f3a38bebcb..2e4ea26fa7 100644 --- a/test/decompiler/reference/jak2/decompiler-macros.gc +++ b/test/decompiler/reference/jak2/decompiler-macros.gc @@ -1085,7 +1085,7 @@ &key (rotate (0.0 0.0 0.0)) &key (scale (1.0 1.0 1.0))) "define a new part group. defines a constant with the name of the group with the ID as its value" `(begin - (defconstant ,name ,id) + ; (defconstant ,name ,id) (set! (-> *part-group-id-table* ,id) (new 'static 'sparticle-launch-group :duration ,duration @@ -1740,6 +1740,38 @@ ) ) +(defmacro part-tracker-spawn (&key (group #f) + &key (to #f) + &key (name #f) + &key (stack-size #x4000) + &key (stack *scratch-memory-top*) + &key (duration (seconds 0)) + &key (callback #f) + &key (userdata (the uint #f)) + &key (target #f) + &key mat-joint) + "Specialized `process-spawn` macro for [[part-tracker]]s. + Returns a pointer to the new process, or #f (or is it 0?) if something goes wrong." + (with-gensyms (new-tracker) + `(let ((,new-tracker (the part-tracker (get-process *default-dead-pool* part-tracker ,stack-size)))) + (when ,new-tracker + ((method-of-type part-tracker activate) ,new-tracker ,to ,(if name name "part-tracker") ,stack) + (vector-copy! (-> *launch-matrix* trans) ,mat-joint) + (run-now-in-process ,new-tracker + part-tracker-init + ,group + ,duration + ,callback + ,userdata + ,target + *launch-matrix* + ) + (the (pointer part-tracker) (-> ,new-tracker ppointer)) + ) + ) + ) + ) + (import "goal_src/jak2/engine/data/tpages.gc") (import "goal_src/jak2/engine/data/textures.gc") \ No newline at end of file diff --git a/test/decompiler/reference/jak2/engine/ai/enemy_REF.gc b/test/decompiler/reference/jak2/engine/ai/enemy_REF.gc index 78e2658b91..917915092b 100644 --- a/test/decompiler/reference/jak2/engine/ai/enemy_REF.gc +++ b/test/decompiler/reference/jak2/engine/ai/enemy_REF.gc @@ -226,41 +226,7 @@ (let ((s2-0 (new 'stack-no-clear 'vector))) (set! (-> s2-0 quad) (-> this 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 - (let ((t9-2 (method-of-type part-tracker activate))) - (t9-2 - (the-as part-tracker s1-0) - *entity-pool* - (symbol->string (-> part-tracker symbol)) - (the-as pointer #x70004000) - ) - ) - (let ((t9-3 run-function-in-process) - (a0-8 s1-0) - (a1-3 part-tracker-init) - (a2-5 (-> *part-group-id-table* 121)) - (a3-1 0) - (t0-0 #f) - (t1-0 #f) - (t2-0 #f) - (t3-0 *launch-matrix*) - ) - (set! (-> t3-0 trans quad) (-> s2-0 quad)) - ((the-as (function object object object object object object object object none) t9-3) - a0-8 - a1-3 - a2-5 - a3-1 - t0-0 - t1-0 - t2-0 - t3-0 - ) - ) - (-> s1-0 ppointer) - ) - ) + (part-tracker-spawn :to *entity-pool* :group group-part-water-splash :mat-joint s2-0) ) (cond ((logtest? s3-0 (water-flags dark-eco)) 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 82a187981c..7423c3e33e 100644 --- a/test/decompiler/reference/jak2/engine/common_objs/collectables_REF.gc +++ b/test/decompiler/reference/jak2/engine/common_objs/collectables_REF.gc @@ -286,27 +286,27 @@ ) (case arg0 (((pickup-type eco-yellow)) - (set! s5-0 (-> *part-group-id-table* 108)) - (set! (-> this collect-effect) (-> *part-group-id-table* 115)) - (set! (-> this collect-effect2) (-> *part-group-id-table* 109)) + (set! s5-0 group-eco-yellow) + (set! (-> this collect-effect) group-yellow-collect) + (set! (-> this collect-effect2) group-eco-yellow-collect) (set! s4-0 (static-sound-spec "yel-eco-idle" :fo-max 15)) ) (((pickup-type eco-red)) - (set! s5-0 (-> *part-group-id-table* 102)) - (set! (-> this collect-effect) (-> *part-group-id-table* 116)) - (set! (-> this collect-effect2) (-> *part-group-id-table* 103)) + (set! s5-0 group-eco-red) + (set! (-> this collect-effect) group-red-collect) + (set! (-> this collect-effect2) group-eco-red-collect) (set! s4-0 (static-sound-spec "red-eco-idle" :fo-max 15)) ) (((pickup-type eco-blue)) - (set! s5-0 (-> *part-group-id-table* 98)) - (set! (-> this collect-effect) (-> *part-group-id-table* 114)) - (set! (-> this collect-effect2) (-> *part-group-id-table* 99)) + (set! s5-0 group-eco-blue) + (set! (-> this collect-effect) group-blue-collect) + (set! (-> this collect-effect2) group-eco-blue-collect) (set! s4-0 (static-sound-spec "blue-eco-idle" :fo-max 15)) ) (((pickup-type eco-green)) - (set! s5-0 (-> *part-group-id-table* 83)) - (set! (-> this collect-effect) (-> *part-group-id-table* 93)) - (set! (-> this collect-effect2) (-> *part-group-id-table* 79)) + (set! s5-0 group-eco-green) + (set! (-> this collect-effect) group-green-collect) + (set! (-> this collect-effect2) group-eco-green-collect) (set! s4-0 (static-sound-spec "green-eco-idle" :fo-max 15)) ) (((pickup-type health)) @@ -319,17 +319,17 @@ (set! (-> v1-37 y) 2457.6) (set! (-> v1-37 w) 4096.0) ) - (set! (-> this collect-effect) (-> *part-group-id-table* 93)) - (set! (-> this collect-effect2) (-> *part-group-id-table* 79)) + (set! (-> this collect-effect) group-green-collect) + (set! (-> this collect-effect2) group-eco-green-collect) (set! s4-0 (static-sound-spec "green-eco-idle" :fo-max 15)) ) (((pickup-type eco-pill-green)) - (set! s5-0 (-> *part-group-id-table* 80)) - (set! (-> this collect-effect2) (-> *part-group-id-table* 81)) + (set! s5-0 group-eco-green-pill) + (set! (-> this collect-effect2) group-eco-green-pill-collect) ) (((pickup-type eco-pill-dark)) - (set! s5-0 (-> *part-group-id-table* 82)) - (set! (-> this collect-effect) (-> *part-group-id-table* 92)) + (set! s5-0 group-eco-dark-pill) + (set! (-> this collect-effect) group-eco-dark-pill-collect) ) ) (if s5-0 @@ -490,94 +490,45 @@ ) ) (let ((s4-9 (handle->process arg0))) - (when (nonzero? (-> this collect-effect)) - (let ((s5-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-1 - (let ((t9-21 (method-of-type part-tracker activate))) - (t9-21 (the-as part-tracker s5-1) s4-9 (symbol->string (-> part-tracker symbol)) (the-as pointer #x70004000)) - ) - (let ((t9-22 run-function-in-process) - (a0-60 s5-1) - (a1-26 part-tracker-init) - (a2-11 (-> this collect-effect)) - (a3-10 0) - (t0-8 part-tracker-track-target) - (t1-8 #f) - (t2-8 #f) - (t3-0 *launch-matrix*) - ) - (set! (-> t3-0 trans quad) (-> this 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 - a2-11 - a3-10 - t0-8 - t1-8 - t2-8 - t3-0 - ) - ) - (-> s5-1 ppointer) + (if (nonzero? (-> this collect-effect)) + (part-tracker-spawn + :to s4-9 + :group (-> this collect-effect) + :callback part-tracker-track-target + :mat-joint (-> this root root-prim prim-core world-sphere) ) ) - ) ) - (when (nonzero? (-> this collect-effect2)) - (let ((s5-2 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-2 - (let ((t9-24 (method-of-type part-tracker activate))) - (t9-24 (the-as part-tracker s5-2) this (symbol->string (-> part-tracker symbol)) (the-as pointer #x70004000)) - ) - (let ((t9-25 run-function-in-process) - (a0-63 s5-2) - (a1-29 part-tracker-init) - (a2-16 (-> this collect-effect2)) - (a3-12 0) - (t0-9 - (lambda ((arg0 part-tracker)) - (let ((v1-1 (handle->process (-> arg0 userdata)))) - (when (the-as process v1-1) - (let* ((a0-9 - (the-as process (as-type (handle->process (-> (the-as collectable v1-1) pickup-handle)) process-focusable)) + (if (nonzero? (-> this collect-effect2)) + (part-tracker-spawn + :to this + :group (-> this collect-effect2) + :callback (lambda ((arg0 part-tracker)) + (let ((v1-1 (handle->process (-> arg0 userdata)))) + (when (the-as process v1-1) + (let* ((a0-9 + (the-as process (as-type (handle->process (-> (the-as collectable v1-1) pickup-handle)) process-focusable)) + ) + (a2-0 (if (not a0-9) + (-> arg0 root trans) + (get-trans (the-as process-focusable a0-9) 3) ) - (a2-0 (if (not a0-9) - (-> arg0 root trans) - (get-trans (the-as process-focusable a0-9) 3) - ) - ) - ) - (vector-lerp! - (-> arg0 root trans) - (-> arg0 offset) - a2-0 - (/ (the float (- (current-time) (-> arg0 start-time))) (the float (-> arg0 part group duration))) - ) - ) - ) - ) + ) + ) + (vector-lerp! + (-> arg0 root trans) + (-> arg0 offset) + a2-0 + (/ (the float (- (current-time) (-> arg0 start-time))) (the float (-> arg0 part group duration))) ) ) - (t1-13 (process->handle this)) - (t2-9 #f) - (t3-1 *launch-matrix*) ) - (set! (-> t3-1 trans quad) (-> this 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 - a2-16 - a3-12 - t0-9 - t1-13 - t2-9 - t3-1 - ) + ) ) - (-> s5-2 ppointer) + :userdata (process->handle this) + :mat-joint (-> this root root-prim prim-core world-sphere) ) ) - ) (send-event (handle->process (-> this notify)) 'notify 'pickup) 0 (none) @@ -2032,8 +1983,8 @@ ) (set-vector! (-> this draw color-mult) 0.8 0.8 0.8 1.0) (set-vector! (-> this draw color-emissive) 0.2 0.2 0.2 1.0) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 86) this)) - (set! (-> this collect-effect) (-> *part-group-id-table* 87)) + (set! (-> this part) (create-launch-control group-gem-glow this)) + (set! (-> this collect-effect) group-gem-collect) 0 (none) ) @@ -2359,8 +2310,8 @@ (set! (-> this notify) (the-as handle #f)) (set! (-> this root pause-adjust-distance) 204800.0) (set! (-> this fact) (new 'process 'fact-info this (pickup-type trick-point) 100.0)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 94) this)) - (set! (-> this collect-effect) (-> *part-group-id-table* 95)) + (set! (-> this part) (create-launch-control group-skate-point this)) + (set! (-> this collect-effect) group-skate-point-explode) 0 (none) ) @@ -2432,16 +2383,16 @@ (set! (-> this fact) (new 'process 'fact-info this (-> this pickup-type) (-> this pickup-amount))) (case (-> this pickup-type) (((pickup-type ammo-yellow)) - (set! (-> this collect-effect) (-> *part-group-id-table* 88)) + (set! (-> this collect-effect) group-ammo-yellow-collect) ) (((pickup-type ammo-red)) - (set! (-> this collect-effect) (-> *part-group-id-table* 89)) + (set! (-> this collect-effect) group-ammo-red-collect) ) (((pickup-type ammo-blue)) - (set! (-> this collect-effect) (-> *part-group-id-table* 90)) + (set! (-> this collect-effect) group-ammo-blue-collect) ) (((pickup-type ammo-dark)) - (set! (-> this collect-effect) (-> *part-group-id-table* 91)) + (set! (-> this collect-effect) group-ammo-dark-collect) ) ) 0 @@ -2460,7 +2411,7 @@ (the-as pair 0) ) (set-vector! (-> this root scale) 2.5 2.5 2.5 1.0) - (set! (-> this ammo-effect) (-> *part-group-id-table* 108)) + (set! (-> this ammo-effect) group-eco-yellow) ) (((pickup-type ammo-red)) (initialize-skeleton @@ -2469,7 +2420,7 @@ (the-as pair 0) ) (set-vector! (-> this root scale) 4.0 4.0 4.0 1.0) - (set! (-> this ammo-effect) (-> *part-group-id-table* 102)) + (set! (-> this ammo-effect) group-eco-red) ) (((pickup-type ammo-blue)) (initialize-skeleton @@ -2478,7 +2429,7 @@ (the-as pair 0) ) (set-vector! (-> this root scale) 4.0 4.0 4.0 1.0) - (set! (-> this ammo-effect) (-> *part-group-id-table* 98)) + (set! (-> this ammo-effect) group-eco-blue) ) (((pickup-type ammo-dark)) (initialize-skeleton @@ -2487,7 +2438,7 @@ (the-as pair 0) ) (set-vector! (-> this root scale) 3.0 3.0 3.0 1.0) - (set! (-> this ammo-effect) (-> *part-group-id-table* 83)) + (set! (-> this ammo-effect) group-eco-green) ) (((pickup-type gun-yellow)) (initialize-skeleton @@ -2534,7 +2485,7 @@ (logclear! (-> this flags) (collectable-flag fadeout)) ) (((pickup-type shield)) - (set! (-> this ammo-effect) (-> *part-group-id-table* 80)) + (set! (-> this ammo-effect) group-eco-green-pill) ) (((pickup-type trick-point)) ) 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 dc3fa1e2e8..9ae3034a5e 100644 --- a/test/decompiler/reference/jak2/engine/common_objs/crates_REF.gc +++ b/test/decompiler/reference/jak2/engine/common_objs/crates_REF.gc @@ -925,100 +925,13 @@ ) (case (-> self look) (('darkeco) - (let ((s5-8 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-8 - (let ((t9-17 (method-of-type part-tracker activate))) - (t9-17 (the-as part-tracker s5-8) self (symbol->string (-> part-tracker symbol)) (the-as pointer #x70004000)) - ) - (let ((t9-18 run-function-in-process) - (a0-34 s5-8) - (a1-21 part-tracker-init) - (a2-11 (-> *part-group-id-table* 126)) - (a3-9 0) - (t0-6 #f) - (t1-4 #f) - (t2-4 #f) - (t3-0 *launch-matrix*) - ) - (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 - a2-11 - a3-9 - t0-6 - t1-4 - t2-4 - t3-0 - ) - ) - (-> s5-8 ppointer) - ) - ) + (part-tracker-spawn :to self :group group-dark-eco-box-explosion :mat-joint (-> self root trans)) ) (('steel 'iron) - (let ((s5-9 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-9 - (let ((t9-20 (method-of-type part-tracker activate))) - (t9-20 (the-as part-tracker s5-9) self (symbol->string (-> part-tracker symbol)) (the-as pointer #x70004000)) - ) - (let ((t9-21 run-function-in-process) - (a0-39 s5-9) - (a1-27 part-tracker-init) - (a2-14 (-> *part-group-id-table* 125)) - (a3-11 0) - (t0-7 #f) - (t1-5 #f) - (t2-5 #f) - (t3-1 *launch-matrix*) - ) - (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 - a2-14 - a3-11 - t0-7 - t1-5 - t2-5 - t3-1 - ) - ) - (-> s5-9 ppointer) - ) - ) + (part-tracker-spawn :to self :group group-crate-steel-explode :mat-joint (-> self root trans)) ) (else - (let ((s5-10 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-10 - (let ((t9-23 (method-of-type part-tracker activate))) - (t9-23 (the-as part-tracker s5-10) self (symbol->string (-> part-tracker symbol)) (the-as pointer #x70004000)) - ) - (let ((t9-24 run-function-in-process) - (a0-42 s5-10) - (a1-32 part-tracker-init) - (a2-17 (-> *part-group-id-table* 124)) - (a3-13 0) - (t0-8 #f) - (t1-6 #f) - (t2-6 #f) - (t3-2 *launch-matrix*) - ) - (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 - a2-17 - a3-13 - t0-8 - t1-6 - t2-6 - t3-2 - ) - ) - (-> s5-10 ppointer) - ) - ) + (part-tracker-spawn :to self :group group-crate-explode :mat-joint (-> self root trans)) ) ) ) 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 45d6a019c2..597a73b342 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 @@ -1371,7 +1371,7 @@ (defbehavior part-tracker-init part-tracker ((arg0 sparticle-launch-group) (arg1 time-frame) (arg2 (function part-tracker none)) - (arg3 (pointer process-drawable)) + (arg3 uint) (arg4 process) (arg5 matrix) ) @@ -1423,7 +1423,7 @@ ) (set! (-> self callback) (the-as (function part-tracker vector) arg2)) (set! (-> self linger-callback) #f) - (set! (-> self userdata) (the-as uint arg3)) + (set! (-> self userdata) arg3) (set! arg1 (cond ((> arg1 0) (empty) @@ -2719,13 +2719,13 @@ (set! (-> this part) (create-launch-control (cond ((= v1-14 'beach) - (-> *part-group-id-table* 6) + group-beach-launcher ) ((= v1-14 'swamp) - (-> *part-group-id-table* 8) + group-swamp-launcher ) (else - (-> *part-group-id-table* 7) + group-jungle-launcher ) ) this @@ -2788,13 +2788,13 @@ (set! (-> self part) (create-launch-control (cond ((= v1-18 'beach) - (-> *part-group-id-table* 6) + group-beach-launcher ) ((= v1-18 'swamp) - (-> *part-group-id-table* 8) + group-swamp-launcher ) (else - (-> *part-group-id-table* 7) + group-jungle-launcher ) ) self 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 a71a57b229..6935018ffe 100644 --- a/test/decompiler/reference/jak2/engine/common_objs/voicebox_REF.gc +++ b/test/decompiler/reference/jak2/engine/common_objs/voicebox_REF.gc @@ -346,7 +346,7 @@ (set! (-> this blend) 1.0) (set! (-> this draw light-index) (the-as uint 30)) (set! (-> this speak-effect?) #f) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 77) this)) + (set! (-> this part) (create-launch-control group-talkbox-speak this)) (none) ) diff --git a/test/decompiler/reference/jak2/engine/common_objs/water_REF.gc b/test/decompiler/reference/jak2/engine/common_objs/water_REF.gc index 669565e15a..9fd5dfb415 100644 --- a/test/decompiler/reference/jak2/engine/common_objs/water_REF.gc +++ b/test/decompiler/reference/jak2/engine/common_objs/water_REF.gc @@ -1319,8 +1319,8 @@ (a0-3 s5-0) (a1-3 part-tracker-init) (a2-5 (if (zero? arg2) - (-> *part-group-id-table* 122) - (-> *part-group-id-table* 121) + group-part-water-splash-small + group-part-water-splash ) ) (a3-1 0) diff --git a/test/decompiler/reference/jak2/engine/debug/part-tester_REF.gc b/test/decompiler/reference/jak2/engine/debug/part-tester_REF.gc index c212862519..277d853eca 100644 --- a/test/decompiler/reference/jak2/engine/debug/part-tester_REF.gc +++ b/test/decompiler/reference/jak2/engine/debug/part-tester_REF.gc @@ -73,7 +73,7 @@ (-> self root trans) (new 'static 'rgba :r #xff :g #xff :b #xff :a #x80) ) - (let ((gp-1 (-> *part-group-id-table* 127))) + (let ((gp-1 group-part-tester)) (let ((s5-1 (-> self root trans))) (when (!= gp-1 (-> self old-group)) (when (nonzero? (-> self part)) diff --git a/test/decompiler/reference/jak2/engine/game/task/task-arrow_REF.gc b/test/decompiler/reference/jak2/engine/game/task/task-arrow_REF.gc index cdc81318ce..32c6169f92 100644 --- a/test/decompiler/reference/jak2/engine/game/task/task-arrow_REF.gc +++ b/test/decompiler/reference/jak2/engine/game/task/task-arrow_REF.gc @@ -315,7 +315,7 @@ or collectable items on the ground (jetboard / weapon upgrades / etc)" (set! (-> self minimap) (add-icon! *minimap* self (-> arg0 map-icon) (the-as int #f) (the-as vector #t) 0)) (cond ((not (logtest? (-> self flags) (task-arrow-flags task-arrow-flag-02))) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 78) self)) + (set! (-> self part) (create-launch-control group-rod-of-god self)) ) (else (initialize-skeleton diff --git a/test/decompiler/reference/jak2/engine/gfx/mood/time-of-day_REF.gc b/test/decompiler/reference/jak2/engine/gfx/mood/time-of-day_REF.gc index 753778a214..680f7a97bf 100644 --- a/test/decompiler/reference/jak2/engine/gfx/mood/time-of-day_REF.gc +++ b/test/decompiler/reference/jak2/engine/gfx/mood/time-of-day_REF.gc @@ -257,9 +257,9 @@ ) ) (update-rates! (-> *display* bg-clock) (-> self time-ratio)) - (set! (-> self sun) (create-launch-control (-> *part-group-id-table* 3) self)) - (set! (-> self green-sun) (create-launch-control (-> *part-group-id-table* 4) self)) - (set! (-> self moon) (create-launch-control (-> *part-group-id-table* 5) self)) + (set! (-> self sun) (create-launch-control group-sun self)) + (set! (-> self green-sun) (create-launch-control group-green-sun self)) + (set! (-> self moon) (create-launch-control group-moon self)) (set! (-> self event-hook) (-> time-of-day-tick event)) (go time-of-day-tick) ) 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 8db5d65b61..888f0fab06 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 @@ -353,36 +353,7 @@ (let ((gp-0 (new 'stack-no-clear 'vector))) (set! (-> gp-0 quad) (-> self control trans quad)) (+! (-> gp-0 y) 2048.0) - (let ((s5-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-0 - (let ((t9-10 (method-of-type part-tracker activate))) - (t9-10 (the-as part-tracker s5-0) self (symbol->string (-> part-tracker symbol)) (the-as pointer #x70004000)) - ) - (let ((t9-11 run-function-in-process) - (a0-14 s5-0) - (a1-10 part-tracker-init) - (a2-8 (-> *part-group-id-table* 119)) - (a3-2 0) - (t0-1 #f) - (t1-0 #f) - (t2-0 #f) - (t3-0 *launch-matrix*) - ) - (set! (-> t3-0 trans quad) (-> gp-0 quad)) - ((the-as (function object object object object object object object object none) t9-11) - a0-14 - a1-10 - a2-8 - a3-2 - t0-1 - t1-0 - t2-0 - t3-0 - ) - ) - (-> s5-0 ppointer) - ) - ) + (part-tracker-spawn :to self :group group-board-land-straight :mat-joint gp-0) (let ((s5-1 (process-spawn manipy :init manipy-init @@ -873,36 +844,7 @@ (let ((s3-2 (new 'stack-no-clear 'vector))) (set! (-> s3-2 quad) (-> self control trans quad)) (+! (-> s3-2 y) 2048.0) - (let ((s2-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when s2-1 - (let ((t9-5 (method-of-type part-tracker activate))) - (t9-5 (the-as part-tracker s2-1) self (symbol->string (-> part-tracker symbol)) (the-as pointer #x70004000)) - ) - (let ((t9-6 run-function-in-process) - (a0-15 s2-1) - (a1-7 part-tracker-init) - (a2-8 (-> *part-group-id-table* 120)) - (a3-2 0) - (t0-1 #f) - (t1-0 #f) - (t2-0 #f) - (t3-0 *launch-matrix*) - ) - (set! (-> t3-0 trans quad) (-> s3-2 quad)) - ((the-as (function object object object object object object object object none) t9-6) - a0-15 - a1-7 - a2-8 - a3-2 - t0-1 - t1-0 - t2-0 - t3-0 - ) - ) - (-> s2-1 ppointer) - ) - ) + (part-tracker-spawn :to self :group group-board-quick-jump :mat-joint s3-2) (let* ((s1-1 (get-process *default-dead-pool* manipy #x4000)) (s2-2 (when s1-1 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 f882cf9fc1..77c3227c58 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 @@ -536,7 +536,7 @@ (the-as int (-> self control attack-count)) (-> self control penetrate-using) ) - (process-spawn part-tracker :init part-tracker-init (-> *part-group-id-table* 117) 0 #f #f self 25 :to self) + (process-spawn part-tracker :init part-tracker-init group-board-spin-attack 0 #f #f self 25 :to self) (target-timed-invulnerable (seconds 0.5) self 2) ) ) @@ -645,7 +645,7 @@ (set! (-> self board upper-body) (new 'process 'joint-mod (joint-mod-mode flex-blend) self 5)) ) (if (zero? (-> self board part-control)) - (set! (-> self board part-control) (create-launch-control (-> *part-group-id-table* 118) self)) + (set! (-> self board part-control) (create-launch-control group-target-board self)) ) (mode-set! (-> self board main) (joint-mod-mode flex-blend)) (mode-set! (-> self board upper-body) (joint-mod-mode flex-blend)) @@ -1254,36 +1254,7 @@ ) (set! (-> self board shock-offset) -3072.0) (set! (-> self board shock-offsetv) 0.0) - (let ((gp-3 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-3 - (let ((t9-9 (method-of-type part-tracker activate))) - (t9-9 (the-as part-tracker gp-3) self (symbol->string (-> part-tracker symbol)) (the-as pointer #x70004000)) - ) - (let ((t9-10 run-function-in-process) - (a0-28 gp-3) - (a1-8 part-tracker-init) - (a2-8 (-> *part-group-id-table* 21)) - (a3-5 0) - (t0-4 #f) - (t1-2 #f) - (t2-2 #f) - (t3-0 *launch-matrix*) - ) - (set! (-> t3-0 trans quad) (-> self control trans quad)) - ((the-as (function object object object object object object object object none) t9-10) - a0-28 - a1-8 - a2-8 - a3-5 - t0-4 - t1-2 - t2-2 - t3-0 - ) - ) - (-> gp-3 ppointer) - ) - ) + (part-tracker-spawn :to self :group group-land-poof-stn :mat-joint (-> self control trans)) ) ) (set! (-> self control draw-offset y) 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 23f73c8b68..d39ab85efe 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 @@ -158,41 +158,7 @@ ) ) ) - (let ((s5-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-1 - (let ((t9-12 (method-of-type part-tracker activate))) - (t9-12 - (the-as part-tracker s5-1) - *entity-pool* - (symbol->string (-> part-tracker symbol)) - (the-as pointer #x70004000) - ) - ) - (let ((t9-13 run-function-in-process) - (a0-19 s5-1) - (a1-15 part-tracker-init) - (a2-12 (-> *part-group-id-table* 68)) - (a3-3 0) - (t0-2 #f) - (t1-0 #f) - (t2-0 #f) - (t3-0 *launch-matrix*) - ) - (set! (-> t3-0 trans quad) (-> this root trans quad)) - ((the-as (function object object object object object object object object none) t9-13) - a0-19 - a1-15 - a2-12 - a3-3 - t0-2 - t1-0 - t2-0 - t3-0 - ) - ) - (-> s5-1 ppointer) - ) - ) + (part-tracker-spawn :to *entity-pool* :group group-gun-blue-shot-hit :mat-joint (-> this root trans)) 0 (none) ) 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 9accdc770a..d90108581e 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 @@ -165,7 +165,7 @@ "Init relevant settings for the [[projectile]] such as gravity, speed, timeout, etc" (set! (-> this attack-mode) 'eco-dark) (vector-normalize! (-> this root transv) (+ 225280.0 (* 225280.0 (-> this charge-level)))) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 72) this)) + (set! (-> this part) (create-launch-control group-gun-dark-shot-trail this)) (set! (-> this blast-radius) 40960.0) (set! (-> this size-t) 0.0) (set! (-> this charge-sound) (new-sound-id)) @@ -315,41 +315,7 @@ ) ) (set-time! (-> self state-time)) - (let ((gp-2 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-2 - (let ((t9-4 (method-of-type part-tracker activate))) - (t9-4 - (the-as part-tracker gp-2) - *entity-pool* - (symbol->string (-> part-tracker symbol)) - (the-as pointer #x70004000) - ) - ) - (let ((t9-5 run-function-in-process) - (a0-18 gp-2) - (a1-4 part-tracker-init) - (a2-4 (-> *part-group-id-table* 70)) - (a3-1 0) - (t0-0 #f) - (t1-0 #f) - (t2-0 #f) - (t3-0 *launch-matrix*) - ) - (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 - a2-4 - a3-1 - t0-0 - t1-0 - t2-0 - t3-0 - ) - ) - (-> gp-2 ppointer) - ) - ) + (part-tracker-spawn :to *entity-pool* :group group-gun-dark-shot-fired :mat-joint (-> self root trans)) (draw-beam (-> *part-id-table* 210) (-> self root trans) (-> self core-velocity) #f #t) ) :trans (behavior () @@ -665,7 +631,7 @@ (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 group) group-jak-peacemaker-shot-hit) (set! (-> gp-1 collide-with) (collide-spec backgnd crate enemy obstacle vehicle-sphere hit-by-others-list player-list pusher) ) 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 d4f36e4960..21193e14d3 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 @@ -558,41 +558,7 @@ (logclear! (-> self mask) (process-mask enemy)) (gun-red-shot-method-27 self) (cpad-set-buzz! (-> *cpad-list* cpads 0) 1 204 (seconds 0.1)) - (let ((gp-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-1 - (let ((t9-10 (method-of-type part-tracker activate))) - (t9-10 - (the-as part-tracker gp-1) - *entity-pool* - (symbol->string (-> part-tracker symbol)) - (the-as pointer #x70004000) - ) - ) - (let ((t9-11 run-function-in-process) - (a0-27 gp-1) - (a1-9 part-tracker-init) - (a2-7 (-> *part-group-id-table* 66)) - (a3-4 0) - (t0-0 #f) - (t1-0 #f) - (t2-0 #f) - (t3-0 *launch-matrix*) - ) - (set! (-> t3-0 trans quad) (-> self start-pos quad)) - ((the-as (function object object object object object object object object none) t9-11) - a0-27 - a1-9 - a2-7 - a3-4 - t0-0 - t1-0 - t2-0 - t3-0 - ) - ) - (-> gp-1 ppointer) - ) - ) + (part-tracker-spawn :to *entity-pool* :group group-gun-red-shot-fired :mat-joint (-> self start-pos)) (draw-beam (-> *part-id-table* 187) (-> self start-pos) (-> self start-dir) #f #t) (sound-play "red-shot-fire") (vector-float*! (-> self root transv) (-> self start-dir) 61440.0) 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 a0c2a067ef..03218ed4c9 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 @@ -167,82 +167,10 @@ ;; WARN: Return type mismatch int vs none. (defmethod spawn-shell-particles ((this gun-yellow-shot)) "TODO - confirm" - (cond - ((-> this hit-actor?) - (let ((s5-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-0 - (let ((t9-1 (method-of-type part-tracker activate))) - (t9-1 - (the-as part-tracker s5-0) - *entity-pool* - (symbol->string (-> part-tracker symbol)) - (the-as pointer #x70004000) - ) - ) - (let ((t9-2 run-function-in-process) - (a0-3 s5-0) - (a1-2 part-tracker-init) - (a2-4 (-> *part-group-id-table* 74)) - (a3-1 0) - (t0-0 #f) - (t1-0 #f) - (t2-0 #f) - (t3-0 *launch-matrix*) - ) - (set! (-> t3-0 trans quad) (-> this root trans quad)) - ((the-as (function object object object object object object object object none) t9-2) - a0-3 - a1-2 - a2-4 - a3-1 - t0-0 - t1-0 - t2-0 - t3-0 - ) - ) - (-> s5-0 ppointer) - ) - ) - ) - (else - (let ((s5-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-1 - (let ((t9-4 (method-of-type part-tracker activate))) - (t9-4 - (the-as part-tracker s5-1) - *entity-pool* - (symbol->string (-> part-tracker symbol)) - (the-as pointer #x70004000) - ) - ) - (let ((t9-5 run-function-in-process) - (a0-6 s5-1) - (a1-5 part-tracker-init) - (a2-9 (-> *part-group-id-table* 73)) - (a3-3 0) - (t0-1 #f) - (t1-1 #f) - (t2-1 #f) - (t3-1 *launch-matrix*) - ) - (set! (-> t3-1 trans quad) (-> this root trans quad)) - ((the-as (function object object object object object object object object none) t9-5) - a0-6 - a1-5 - a2-9 - a3-3 - t0-1 - t1-1 - t2-1 - t3-1 - ) - ) - (-> s5-1 ppointer) - ) - ) + (if (-> this hit-actor?) + (part-tracker-spawn :to *entity-pool* :group group-gun-yellow-shot-hit-object :mat-joint (-> this root trans)) + (part-tracker-spawn :to *entity-pool* :group group-gun-yellow-shot-hit :mat-joint (-> this root trans)) ) - ) 0 (none) ) diff --git a/test/decompiler/reference/jak2/engine/target/mech/mech-states_REF.gc b/test/decompiler/reference/jak2/engine/target/mech/mech-states_REF.gc index 986588785c..5b73190dbe 100644 --- a/test/decompiler/reference/jak2/engine/target/mech/mech-states_REF.gc +++ b/test/decompiler/reference/jak2/engine/target/mech/mech-states_REF.gc @@ -496,35 +496,10 @@ (set! (-> self mech forward-vel) -40960.0) ) (when (or (not s5-2) (= (-> self control send-attack-time) (current-time))) - (let ((s5-3 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-3 - (let ((t9-7 (method-of-type part-tracker activate))) - (t9-7 (the-as part-tracker s5-3) self (symbol->string (-> part-tracker symbol)) (the-as pointer #x70004000)) - ) - (let ((t9-8 run-function-in-process) - (a0-33 s5-3) - (a1-9 part-tracker-init) - (a2-8 (-> *part-group-id-table* 11)) - (a3-4 0) - (t0-1 #f) - (t1-1 #f) - (t2-0 #f) - (t3-0 *launch-matrix*) - ) - (set! (-> t3-0 trans quad) (-> (the-as collide-query gp-1) best-other-tri intersect quad)) - ((the-as (function object object object object object object object object none) t9-8) - a0-33 - a1-9 - a2-8 - a3-4 - t0-1 - t1-1 - t2-0 - t3-0 - ) - ) - (-> s5-3 ppointer) - ) + (part-tracker-spawn + :to self + :group group-punch-hit + :mat-joint (-> (the-as collide-query gp-1) best-other-tri intersect) ) (sound-play "mech-punch-hit" :position (+ (the-as uint gp-1) 48)) (activate! *camera-smush-control* 1638.4 15 75 1.0 0.9 (-> *display* camera-clock)) @@ -1220,36 +1195,7 @@ ) ) (sound-play "mech-eject") - (let ((gp-7 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-7 - (let ((t9-33 (method-of-type part-tracker activate))) - (t9-33 (the-as part-tracker gp-7) self (symbol->string (-> part-tracker symbol)) (the-as pointer #x70004000)) - ) - (let ((t9-34 run-function-in-process) - (a0-72 gp-7) - (a1-35 part-tracker-init) - (a2-31 (-> *part-group-id-table* 202)) - (a3-13 0) - (t0-8 #f) - (t1-8 #f) - (t2-5 #f) - (t3-0 *launch-matrix*) - ) - (set! (-> t3-0 trans quad) (-> self control trans quad)) - ((the-as (function object object object object object object object object none) t9-34) - a0-72 - a1-35 - a2-31 - a3-13 - t0-8 - t1-8 - t2-5 - t3-0 - ) - ) - (-> gp-7 ppointer) - ) - ) + (part-tracker-spawn :to self :group group-mech-explode-death :mat-joint (-> self control trans)) (rot->dir-targ! (-> self control)) (ja-post) (let ((gp-8 (new 'stack 'joint-exploder-tuning (the-as uint 0)))) 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 23d46924bb..75808831a9 100644 --- a/test/decompiler/reference/jak2/engine/target/target-darkjak_REF.gc +++ b/test/decompiler/reference/jak2/engine/target/target-darkjak_REF.gc @@ -876,36 +876,7 @@ (>= 0.0 (vector-dot (-> gp-3 best-other-tri normal) (-> self control impact-ctrl dir))) ) (when (= (-> gp-3 best-other-tri pat mode) (pat-mode wall)) - (let ((s5-2 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-2 - (let ((t9-38 (method-of-type part-tracker activate))) - (t9-38 (the-as part-tracker s5-2) self (symbol->string (-> part-tracker symbol)) (the-as pointer #x70004000)) - ) - (let ((t9-39 run-function-in-process) - (a0-96 s5-2) - (a1-21 part-tracker-init) - (a2-12 (-> *part-group-id-table* 11)) - (a3-7 0) - (t0-3 #f) - (t1-2 #f) - (t2-1 #f) - (t3-0 *launch-matrix*) - ) - (set! (-> t3-0 trans quad) (-> gp-3 best-other-tri intersect quad)) - ((the-as (function object object object object object object object object none) t9-39) - a0-96 - a1-21 - a2-12 - a3-7 - t0-3 - t1-2 - t2-1 - t3-0 - ) - ) - (-> s5-2 ppointer) - ) - ) + (part-tracker-spawn :to self :group group-punch-hit :mat-joint (-> gp-3 best-other-tri intersect)) (let ((imp-sound (static-sound-name "djak-punch-hit"))) (play-effect-sound (-> self skel effect) @@ -1232,41 +1203,7 @@ (set! (-> sv-80 y) (* 0.5 (+ (-> self control trans y) (-> self control root-prim prim-core world-sphere y)))) (set! (-> sv-80 y) (-> self control root-prim prim-core world-sphere y)) ) - (let ((gp-4 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-4 - (let ((t9-37 (method-of-type part-tracker activate))) - (t9-37 - (the-as part-tracker gp-4) - *entity-pool* - (symbol->string (-> part-tracker symbol)) - (the-as pointer #x70004000) - ) - ) - (let ((t9-38 run-function-in-process) - (a0-75 gp-4) - (a1-37 part-tracker-init) - (a2-35 (-> *part-group-id-table* 63)) - (a3-15 0) - (t0-7 #f) - (t1-5 #f) - (t2-2 #f) - (t3-1 *launch-matrix*) - ) - (set! (-> t3-1 trans quad) (-> sv-80 quad)) - ((the-as (function object object object object object object object object none) t9-38) - a0-75 - a1-37 - a2-35 - a3-15 - t0-7 - t1-5 - t2-2 - t3-1 - ) - ) - (-> gp-4 ppointer) - ) - ) + (part-tracker-spawn :to *entity-pool* :group group-darkjak-bomb :mat-joint sv-80) (let ((gp-5 (process-spawn manipy :init manipy-init 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 afcd2565ad..01001db8b3 100644 --- a/test/decompiler/reference/jak2/engine/target/target-death_REF.gc +++ b/test/decompiler/reference/jak2/engine/target/target-death_REF.gc @@ -508,42 +508,14 @@ ;; INFO: Used lq/sq ;; WARN: Return type mismatch int vs none. (defbehavior target-hit-effect target ((arg0 attack-info)) - (let ((s5-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-0 - (let ((t9-1 (method-of-type part-tracker activate))) - (t9-1 (the-as part-tracker s5-0) self (symbol->string (-> part-tracker symbol)) (the-as pointer #x70004000)) - ) - (let ((t9-2 run-function-in-process) - (a0-3 s5-0) - (a1-2 part-tracker-init) - (a2-4 (-> *part-group-id-table* 9)) - (a3-1 0) - (t0-0 #f) - (t1-0 #f) - (t2-0 #f) - (t3-0 *launch-matrix*) + (part-tracker-spawn + :to self + :group group-target-hit + :mat-joint (the-as vector (if (logtest? (-> arg0 mask) (attack-mask intersection)) + (-> arg0 intersection) + (the-as vector (-> self control root-prim prim-core)) + ) ) - (set! (-> t3-0 trans quad) (-> (the-as vector (if (logtest? (-> arg0 mask) (attack-mask intersection)) - (-> arg0 intersection) - (the-as vector (-> self control root-prim prim-core)) - ) - ) - quad - ) - ) - ((the-as (function object object object object object object object object none) t9-2) - a0-3 - a1-2 - a2-4 - a3-1 - t0-0 - t1-0 - t2-0 - t3-0 - ) - ) - (-> s5-0 ppointer) - ) ) (let ((v1-8 (-> arg0 mode))) (cond @@ -1029,41 +1001,7 @@ ) (('lava 'melt) (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))) - (t9-15 - (the-as part-tracker gp-2) - *entity-pool* - (symbol->string (-> part-tracker symbol)) - (the-as pointer #x70004000) - ) - ) - (let ((t9-16 run-function-in-process) - (a0-53 gp-2) - (a1-13 part-tracker-init) - (a2-9 (-> *part-group-id-table* 57)) - (a3-3 0) - (t0-0 #f) - (t1-0 #f) - (t2-0 #f) - (t3-0 *launch-matrix*) - ) - (set! (-> t3-0 trans quad) (-> self control trans quad)) - ((the-as (function object object object object object object object object none) t9-16) - a0-53 - a1-13 - a2-9 - a3-3 - t0-0 - t1-0 - t2-0 - t3-0 - ) - ) - (-> gp-2 ppointer) - ) - ) + (part-tracker-spawn :to *entity-pool* :group group-lava-death :mat-joint (-> self control trans)) (set! (-> sv-32 angle) 'lava) (set! (-> sv-32 shove-up) 20480.0) ) @@ -1099,13 +1037,13 @@ (let* ((v1-123 (-> sv-32 mode)) (gp-3 (cond ((= v1-123 'shock-red) - (-> *part-group-id-table* 62) + group-lightning-red-glow ) ((= v1-123 'shock-green) - (-> *part-group-id-table* 61) + group-lightning-green-glow ) (else - (-> *part-group-id-table* 60) + group-lightning-glow ) ) ) @@ -1610,41 +1548,7 @@ (let ((v1-63 arg0)) (b! (!= v1-63 'dark-eco-pool) cfg-79 :delay (empty-form)) (sound-play "death-darkeco") - (let ((s5-2 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-2 - (let ((t9-14 (method-of-type part-tracker activate))) - (t9-14 - (the-as part-tracker s5-2) - *entity-pool* - (symbol->string (-> part-tracker symbol)) - (the-as pointer #x70004000) - ) - ) - (let ((t9-15 run-function-in-process) - (a0-61 s5-2) - (a1-27 part-tracker-init) - (a2-10 (-> *part-group-id-table* 56)) - (a3-6 0) - (t0-5 #f) - (t1-5 #f) - (t2-1 #f) - (t3-0 *launch-matrix*) - ) - (set! (-> t3-0 trans quad) (-> self control trans quad)) - ((the-as (function object object object object object object object object none) t9-15) - a0-61 - a1-27 - a2-10 - a3-6 - t0-5 - t1-5 - t2-1 - t3-0 - ) - ) - (-> s5-2 ppointer) - ) - ) + (part-tracker-spawn :to *entity-pool* :group group-dark-eco-death :mat-joint (-> self control trans)) (let ((v1-75 (-> self control root-prim))) (set! (-> v1-75 prim-core collide-as) (collide-spec)) (set! (-> v1-75 prim-core collide-with) (collide-spec)) @@ -1674,41 +1578,7 @@ (sound-play "explosion") ) ) - (let ((s5-6 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-6 - (let ((t9-23 (method-of-type part-tracker activate))) - (t9-23 - (the-as part-tracker s5-6) - *entity-pool* - (symbol->string (-> part-tracker symbol)) - (the-as pointer #x70004000) - ) - ) - (let ((t9-24 run-function-in-process) - (a0-80 s5-6) - (a1-36 part-tracker-init) - (a2-17 (-> *part-group-id-table* 58)) - (a3-10 0) - (t0-8 #f) - (t1-8 #f) - (t2-4 #f) - (t3-1 *launch-matrix*) - ) - (set! (-> t3-1 trans quad) (-> self control trans quad)) - ((the-as (function object object object object object object object object none) t9-24) - a0-80 - a1-36 - a2-17 - a3-10 - t0-8 - t1-8 - t2-4 - t3-1 - ) - ) - (-> s5-6 ppointer) - ) - ) + (part-tracker-spawn :to *entity-pool* :group group-explode-death :mat-joint (-> self control trans)) (set-vector! (-> self control transv) 0.0 65502.96 0.0 1.0) (ja-channel-push! 1 (seconds 0.1)) (ja-no-eval :group! jakb-hit-from-front-ja :num! (seek!) :frame-num 0.0) @@ -1772,41 +1642,7 @@ (label cfg-122) (when (or (= v1-63 'lava) (= v1-63 'melt)) (sound-play "death-melt") - (let ((s5-9 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-9 - (let ((t9-37 (method-of-type part-tracker activate))) - (t9-37 - (the-as part-tracker s5-9) - *entity-pool* - (symbol->string (-> part-tracker symbol)) - (the-as pointer #x70004000) - ) - ) - (let ((t9-38 run-function-in-process) - (a0-107 s5-9) - (a1-49 part-tracker-init) - (a2-28 (-> *part-group-id-table* 57)) - (a3-13 0) - (t0-10 #f) - (t1-10 #f) - (t2-6 #f) - (t3-2 *launch-matrix*) - ) - (set! (-> t3-2 trans quad) (-> self control trans quad)) - ((the-as (function object object object object object object object object none) t9-38) - a0-107 - a1-49 - a2-28 - a3-13 - t0-10 - t1-10 - t2-6 - t3-2 - ) - ) - (-> s5-9 ppointer) - ) - ) + (part-tracker-spawn :to *entity-pool* :group group-lava-death :mat-joint (-> self control trans)) (let ((v1-219 (-> self control root-prim))) (set! (-> v1-219 prim-core collide-as) (collide-spec)) (set! (-> v1-219 prim-core collide-with) (collide-spec)) @@ -1923,41 +1759,7 @@ ) ) ((or (= v1-50 'burn) (= v1-50 'burnup)) - (let ((s5-12 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-12 - (let ((t9-45 (method-of-type part-tracker activate))) - (t9-45 - (the-as part-tracker s5-12) - *entity-pool* - (symbol->string (-> part-tracker symbol)) - (the-as pointer #x70004000) - ) - ) - (let ((t9-46 run-function-in-process) - (a0-118 s5-12) - (a1-53 part-tracker-init) - (a2-33 (-> *part-group-id-table* 59)) - (a3-15 0) - (t0-11 #f) - (t1-11 #f) - (t2-7 #f) - (t3-3 *launch-matrix*) - ) - (set! (-> t3-3 trans quad) (-> self control trans quad)) - ((the-as (function object object object object object object object object none) t9-46) - a0-118 - a1-53 - a2-33 - a3-15 - t0-11 - t1-11 - t2-7 - t3-3 - ) - ) - (-> s5-12 ppointer) - ) - ) + (part-tracker-spawn :to *entity-pool* :group group-burn-death :mat-joint (-> self control trans)) (target-death-anim (the-as spool-anim #f)) ) ((or (= v1-50 'drown) (= v1-50 'drown-death)) 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 078b4396f8..8aeb9d8d85 100644 --- a/test/decompiler/reference/jak2/engine/target/target-handler_REF.gc +++ b/test/decompiler/reference/jak2/engine/target/target-handler_REF.gc @@ -131,43 +131,14 @@ ) (the-as handle #f) ) - (let ((gp-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-1 - (let ((t9-6 (method-of-type part-tracker activate))) - (t9-6 (the-as part-tracker gp-1) self (symbol->string (-> part-tracker symbol)) (the-as pointer #x70004000)) - ) - (let ((t9-7 run-function-in-process) - (a0-27 gp-1) - (a1-10 part-tracker-init) - (a2-9 (-> *part-group-id-table* 9)) - (a3-4 0) - (t0-2 #f) - (t1-0 #f) - (t2-0 #f) - (t3-0 *launch-matrix*) + (part-tracker-spawn + :to self + :group group-target-hit + :mat-joint (the-as vector (if (logtest? (-> self attack-info-rec mask) (attack-mask intersection)) + (-> self attack-info-rec intersection) + (the-as vector (-> self control root-prim prim-core)) + ) ) - (set! (-> t3-0 trans quad) - (-> (the-as vector (if (logtest? (-> self attack-info-rec mask) (attack-mask intersection)) - (-> self attack-info-rec intersection) - (the-as vector (-> self control root-prim prim-core)) - ) - ) - quad - ) - ) - ((the-as (function object object object object object object object object none) t9-7) - a0-27 - a1-10 - a2-9 - a3-4 - t0-2 - t1-0 - t2-0 - t3-0 - ) - ) - (-> gp-1 ppointer) - ) ) (target-timed-invulnerable (the-as time-frame (if (logtest? (-> self attack-info-rec mask) (attack-mask invinc-time)) @@ -404,7 +375,7 @@ (let ((s3-4 run-function-in-process) (s2-1 s4-1) (s1-1 part-tracker-init) - (s0-1 (-> *part-group-id-table* 10)) + (s0-1 group-spin-hit) ) (set! sv-240 0) (set! sv-256 (the-as symbol #f)) @@ -461,7 +432,7 @@ (let ((s3-6 run-function-in-process) (s2-3 s4-3) (s1-3 part-tracker-init) - (s0-3 (-> *part-group-id-table* 11)) + (s0-3 group-punch-hit) ) (set! sv-336 0) (set! sv-352 (the-as symbol #f)) @@ -499,7 +470,7 @@ (let ((s3-7 run-function-in-process) (s2-4 s4-4) (s1-4 part-tracker-init) - (s0-4 (-> *part-group-id-table* 11)) + (s0-4 group-punch-hit) ) (set! sv-432 0) (set! sv-448 (the-as symbol #f)) @@ -560,7 +531,7 @@ (let ((s3-8 run-function-in-process) (s2-5 s4-5) (s1-5 part-tracker-init) - (s0-5 (-> *part-group-id-table* 11)) + (s0-5 group-punch-hit) ) (set! sv-528 0) (set! sv-544 (the-as symbol #f)) @@ -598,7 +569,7 @@ (let ((s3-9 run-function-in-process) (s2-6 s4-6) (s1-6 part-tracker-init) - (s0-6 (-> *part-group-id-table* 11)) + (s0-6 group-punch-hit) ) (set! sv-624 0) (set! sv-640 (the-as symbol #f)) 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 5107357a32..3af073572f 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 @@ -317,41 +317,7 @@ ) (set! (-> gp-0 quad) (-> root trans quad)) (vector+! gp-0 gp-0 v1-2) - (let ((s5-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-1 - (let ((t9-2 (method-of-type part-tracker activate))) - (t9-2 - (the-as part-tracker s5-1) - *entity-pool* - (symbol->string (-> part-tracker symbol)) - (the-as pointer #x70004000) - ) - ) - (let ((t9-3 run-function-in-process) - (a0-8 s5-1) - (a1-6 part-tracker-init) - (a2-4 (-> *part-group-id-table* 200)) - (a3-1 0) - (t0-0 #f) - (t1-0 #f) - (t2-0 #f) - (t3-0 *launch-matrix*) - ) - (set! (-> t3-0 trans quad) (-> gp-0 quad)) - ((the-as (function object object object object object object object object none) t9-3) - a0-8 - a1-6 - a2-4 - a3-1 - t0-0 - t1-0 - t2-0 - t3-0 - ) - ) - (-> s5-1 ppointer) - ) - ) + (part-tracker-spawn :to *entity-pool* :group group-turret-shot-hit :mat-joint gp-0) ) 0 (none) 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 50ade2e40e..e213b0c3d8 100644 --- a/test/decompiler/reference/jak2/engine/target/target-turret_REF.gc +++ b/test/decompiler/reference/jak2/engine/target/target-turret_REF.gc @@ -1688,36 +1688,7 @@ (let ((gp-3 (new 'stack-no-clear 'vector))) (set! (-> gp-3 quad) (-> self root trans quad)) (+! (-> gp-3 y) 8192.0) - (let ((s5-2 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-2 - (let ((t9-13 (method-of-type part-tracker activate))) - (t9-13 (the-as part-tracker s5-2) self (symbol->string (-> part-tracker symbol)) (the-as pointer #x70004000)) - ) - (let ((t9-14 run-function-in-process) - (a0-20 s5-2) - (a1-14 part-tracker-init) - (a2-12 (-> *part-group-id-table* 201)) - (a3-4 0) - (t0-2 #f) - (t1-2 #f) - (t2-1 #f) - (t3-0 *launch-matrix*) - ) - (set! (-> t3-0 trans quad) (-> gp-3 quad)) - ((the-as (function object object object object object object object object none) t9-14) - a0-20 - a1-14 - a2-12 - a3-4 - t0-2 - t1-2 - t2-1 - t3-0 - ) - ) - (-> s5-2 ppointer) - ) - ) + (part-tracker-spawn :to self :group group-turret-explode :mat-joint gp-3) ) (while (-> self child) (suspend) diff --git a/test/decompiler/reference/jak2/engine/target/target_REF.gc b/test/decompiler/reference/jak2/engine/target/target_REF.gc index 5bf9de2fdf..8beeddecc2 100644 --- a/test/decompiler/reference/jak2/engine/target/target_REF.gc +++ b/test/decompiler/reference/jak2/engine/target/target_REF.gc @@ -2561,36 +2561,7 @@ (>= 0.0 (vector-dot (-> s5-3 best-other-tri normal) (-> self control impact-ctrl dir))) ) (when (= (-> s5-3 best-other-tri pat mode) (pat-mode wall)) - (let ((s4-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when s4-0 - (let ((t9-34 (method-of-type part-tracker activate))) - (t9-34 (the-as part-tracker s4-0) self (symbol->string (-> part-tracker symbol)) (the-as pointer #x70004000)) - ) - (let ((t9-35 run-function-in-process) - (a0-62 s4-0) - (a1-17 part-tracker-init) - (a2-13 (-> *part-group-id-table* 11)) - (a3-8 0) - (t0-6 #f) - (t1-5 #f) - (t2-5 #f) - (t3-3 *launch-matrix*) - ) - (set! (-> t3-3 trans quad) (-> s5-3 best-other-tri intersect quad)) - ((the-as (function object object object object object object object object none) t9-35) - a0-62 - a1-17 - a2-13 - a3-8 - t0-6 - t1-5 - t2-5 - t3-3 - ) - ) - (-> s4-0 ppointer) - ) - ) + (part-tracker-spawn :to self :group group-punch-hit :mat-joint (-> s5-3 best-other-tri intersect)) (let ((t1-6 (if (using-gun? self) (the-as sound-name (static-sound-name "gun-punch-w-hit")) (the-as sound-name (static-sound-name "punch-w-hit")) diff --git a/test/decompiler/reference/jak2/levels/atoll/atoll-scenes_REF.gc b/test/decompiler/reference/jak2/levels/atoll/atoll-scenes_REF.gc index 113e4f99ef..eac8955f22 100644 --- a/test/decompiler/reference/jak2/levels/atoll/atoll-scenes_REF.gc +++ b/test/decompiler/reference/jak2/levels/atoll/atoll-scenes_REF.gc @@ -1873,41 +1873,7 @@ (when *scene-player* (let ((gp-0 (new 'stack-no-clear 'vector))) (set-vector! gp-0 2075545.2 103013.99 -3889876.5 1.0) - (let ((s5-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-0 - (let ((t9-1 (method-of-type part-tracker activate))) - (t9-1 - (the-as part-tracker s5-0) - (ppointer->process *scene-player*) - (symbol->string (-> part-tracker symbol)) - (the-as pointer #x70004000) - ) - ) - (let ((t9-2 run-function-in-process) - (a0-6 s5-0) - (a1-2 part-tracker-init) - (a2-4 (-> *part-group-id-table* 323)) - (a3-1 0) - (t0-0 #f) - (t1-0 #f) - (t2-0 #f) - (t3-0 *launch-matrix*) - ) - (set! (-> t3-0 trans quad) (-> gp-0 quad)) - ((the-as (function object object object object object object object object none) t9-2) - a0-6 - a1-2 - a2-4 - a3-1 - t0-0 - t1-0 - t2-0 - t3-0 - ) - ) - (-> s5-0 ppointer) - ) - ) + (part-tracker-spawn :to (ppointer->process *scene-player*) :group group-atoll-tank-explosion :mat-joint gp-0) ) ) ) @@ -2427,41 +2393,8 @@ (new 'static 'vector :y 819.2 :w 1.0) ) ) - (s5-0 (get-process *default-dead-pool* part-tracker #x4000)) ) - (when s5-0 - (let ((t9-1 (method-of-type part-tracker activate))) - (t9-1 - (the-as part-tracker s5-0) - *entity-pool* - (symbol->string (-> part-tracker symbol)) - (the-as pointer #x70004000) - ) - ) - (let ((t9-2 run-function-in-process) - (a0-3 s5-0) - (a1-2 part-tracker-init) - (a2-4 (-> *part-group-id-table* 121)) - (a3-1 0) - (t0-0 #f) - (t1-0 #f) - (t2-0 #f) - (t3-0 *launch-matrix*) - ) - (set! (-> t3-0 trans quad) (-> gp-1 quad)) - ((the-as (function object object object object object object object object none) t9-2) - a0-3 - a1-2 - a2-4 - a3-1 - t0-0 - t1-0 - t2-0 - t3-0 - ) - ) - (-> s5-0 ppointer) - ) + (part-tracker-spawn :to *entity-pool* :group group-part-water-splash :mat-joint gp-1) ) ) ) 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 848f6b1ae5..84c4b9db07 100644 --- a/test/decompiler/reference/jak2/levels/atoll/atoll-tank_REF.gc +++ b/test/decompiler/reference/jak2/levels/atoll/atoll-tank_REF.gc @@ -1888,8 +1888,8 @@ ) (transform-post) (setup-masks (-> this draw) 0 2) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 321) this)) - (set! (-> this aftermath-part) (create-launch-control (-> *part-group-id-table* 322) this)) + (set! (-> this part) (create-launch-control group-atoll-tank-intact this)) + (set! (-> this aftermath-part) (create-launch-control group-atoll-tank-aftermath this)) (cond ((task-node-closed? (game-task-node atoll-sig-tank)) (go (method-of-object this idle)) diff --git a/test/decompiler/reference/jak2/levels/atoll/juicer_REF.gc b/test/decompiler/reference/jak2/levels/atoll/juicer_REF.gc index 057fa1729d..a8112cd2ed 100644 --- a/test/decompiler/reference/jak2/levels/atoll/juicer_REF.gc +++ b/test/decompiler/reference/jak2/levels/atoll/juicer_REF.gc @@ -224,41 +224,7 @@ (defmethod spawn-shell-particles ((this juicer-shot)) "TODO - confirm" (spawn-impact-particles this) - (let ((s5-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-0 - (let ((t9-2 (method-of-type part-tracker activate))) - (t9-2 - (the-as part-tracker s5-0) - *entity-pool* - (symbol->string (-> part-tracker symbol)) - (the-as pointer #x70004000) - ) - ) - (let ((t9-3 run-function-in-process) - (a0-4 s5-0) - (a1-2 part-tracker-init) - (a2-4 (-> *part-group-id-table* 1061)) - (a3-1 0) - (t0-0 #f) - (t1-0 #f) - (t2-0 #f) - (t3-0 *launch-matrix*) - ) - (set! (-> t3-0 trans quad) (-> this root trans quad)) - ((the-as (function object object object object object object object object none) t9-3) - a0-4 - a1-2 - a2-4 - a3-1 - t0-0 - t1-0 - t2-0 - t3-0 - ) - ) - (-> s5-0 ppointer) - ) - ) + (part-tracker-spawn :to *entity-pool* :group group-juicer-shot-hit :mat-joint (-> this root trans)) 0 (none) ) 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 d2260dd312..c111032d80 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 @@ -2732,17 +2732,7 @@ ) (let ((gp-2 (the int (* 300.0 (- 3.0 (* 0.5 (+ -1.0 (the float (-> self gameplay-pass))))))))) (when (and (-> self spawn-charge) (time-elapsed? (-> self state-time) (+ gp-2 -300))) - (process-spawn - part-tracker - :init part-tracker-init - (-> *part-group-id-table* 1204) - 300 - #f - #f - self - 33 - :to self - ) + (process-spawn part-tracker :init part-tracker-init group-krew-boss-gun-charge 300 #f #f self 33 :to self) (set! (-> self spawn-charge) #f) ) (when (and (= (-> self next-shooting-frame) 100) (time-elapsed? (-> self state-time) gp-2)) diff --git a/test/decompiler/reference/jak2/levels/city/bombbot/bombbot_REF.gc b/test/decompiler/reference/jak2/levels/city/bombbot/bombbot_REF.gc index 153b22960e..528ea16d4b 100644 --- a/test/decompiler/reference/jak2/levels/city/bombbot/bombbot_REF.gc +++ b/test/decompiler/reference/jak2/levels/city/bombbot/bombbot_REF.gc @@ -1146,36 +1146,7 @@ ) (when (and (!= f30-1 0.0) (< 16384.0 (vector-length (-> s1-0 speed)))) (activate! *camera-smush-control* f30-1 37 600 1.0 0.1 (-> pp clock)) - (let ((s0-2 (get-process *default-dead-pool* part-tracker #x4000))) - (when s0-2 - (let ((t9-11 (method-of-type part-tracker activate))) - (t9-11 (the-as part-tracker s0-2) this (symbol->string (-> part-tracker symbol)) (the-as pointer #x70004000)) - ) - (let ((t9-12 run-function-in-process) - (a0-39 s0-2) - (a1-22 part-tracker-init) - (a2-29 (-> *part-group-id-table* 21)) - (a3-5 0) - (t0-3 #f) - (t1-2 #f) - (t2-1 #f) - (t3-0 *launch-matrix*) - ) - (set! (-> t3-0 trans quad) (-> s1-0 position quad)) - ((the-as (function object object object object object object object object none) t9-12) - a0-39 - a1-22 - a2-29 - a3-5 - t0-3 - t1-2 - t2-1 - t3-0 - ) - ) - (-> s0-2 ppointer) - ) - ) + (part-tracker-spawn :to this :group group-land-poof-stn :mat-joint (-> s1-0 position)) (when (or (zero? s4-0) (= s4-0 1)) (let ((s0-3 sound-play-by-name)) (set! sv-944 (make-u128 0 (the-as uint #x6b6c61772d6262))) @@ -2240,7 +2211,7 @@ (set! (-> s5-1 spawn-point quad) (-> gp-1 quad)) (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 group) group-bombbot-explode0) (set! (-> s5-1 collide-with) (collide-spec backgnd jak crate civilian enemy obstacle vehicle-sphere hit-by-others-list player-list pusher) ) diff --git a/test/decompiler/reference/jak2/levels/city/burning-bush/ctywide-bbush_REF.gc b/test/decompiler/reference/jak2/levels/city/burning-bush/ctywide-bbush_REF.gc index bdb0809ce1..1ac506a964 100644 --- a/test/decompiler/reference/jak2/levels/city/burning-bush/ctywide-bbush_REF.gc +++ b/test/decompiler/reference/jak2/levels/city/burning-bush/ctywide-bbush_REF.gc @@ -325,7 +325,7 @@ (let ((t9-2 run-function-in-process) (a0-2 gp-0) (a1-2 part-tracker-init) - (a2-4 (-> *part-group-id-table* 1054)) + (a2-4 group-rolling-spawn-ring) (a3-1 0) (t0-0 race-ring-set-particle-rotation-callback) (t1-0 (-> self ppointer)) @@ -366,7 +366,7 @@ (let ((t9-3 run-function-in-process) (a0-6 gp-0) (a1-3 part-tracker-init) - (a2-4 (-> *part-group-id-table* 1055)) + (a2-4 group-rolling-explode-ring) (a3-1 0) (t0-0 race-ring-set-particle-rotation-callback) (t1-0 (-> self ppointer)) @@ -409,7 +409,7 @@ (let ((t9-2 run-function-in-process) (a0-9 gp-0) (a1-3 part-tracker-init) - (a2-4 (-> *part-group-id-table* 1053)) + (a2-4 group-rolling-ring) (a3-1 0) (t0-0 race-ring-set-particle-rotation-callback) (t1-0 (-> self ppointer)) @@ -1848,7 +1848,7 @@ (set! (-> self root trans quad) (-> arg0 quad)) (quaternion-copy! (-> self root quat) *unity-quaternion*) (bush-collect-method-23 self) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 1056) self)) + (set! (-> self part) (create-launch-control group-bush-collect self)) (go-virtual idle) (none) ) @@ -1863,7 +1863,7 @@ (set! (-> self root trans quad) (-> arg0 quad)) (quaternion-copy! (-> self root quat) *unity-quaternion*) (bush-collect-method-23 self) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 82) self)) + (set! (-> self part) (create-launch-control group-eco-dark-pill self)) (go-virtual idle) (none) ) @@ -1886,7 +1886,7 @@ (the-as skeleton-group (art-group-get-by-name *level* "skel-homing-beacon" (the-as (pointer uint32) #f))) (the-as pair 0) ) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 1056) self)) + (set! (-> self part) (create-launch-control group-bush-collect self)) (go-virtual idle) (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 933b383b05..03bb3d6085 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 @@ -804,117 +804,15 @@ (case arg0 (('dark-eco-pool) (sound-play "death-darkeco") - (let ((s5-2 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-2 - (let ((t9-14 (method-of-type part-tracker activate))) - (t9-14 - (the-as part-tracker s5-2) - *entity-pool* - (symbol->string (-> part-tracker symbol)) - (the-as pointer #x70004000) - ) - ) - (let ((t9-15 run-function-in-process) - (a0-36 s5-2) - (a1-19 part-tracker-init) - (a2-11 (-> *part-group-id-table* 56)) - (a3-7 0) - (t0-6 #f) - (t1-6 #f) - (t2-1 #f) - (t3-0 *launch-matrix*) - ) - (set! (-> t3-0 trans quad) (-> self control trans quad)) - ((the-as (function object object object object object object object object none) t9-15) - a0-36 - a1-19 - a2-11 - a3-7 - t0-6 - t1-6 - t2-1 - t3-0 - ) - ) - (-> s5-2 ppointer) - ) - ) + (part-tracker-spawn :to *entity-pool* :group group-dark-eco-death :mat-joint (-> self control trans)) ) (('grenade 'explode) (sound-play "explosion") - (let ((s5-4 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-4 - (let ((t9-19 (method-of-type part-tracker activate))) - (t9-19 - (the-as part-tracker s5-4) - *entity-pool* - (symbol->string (-> part-tracker symbol)) - (the-as pointer #x70004000) - ) - ) - (let ((t9-20 run-function-in-process) - (a0-45 s5-4) - (a1-24 part-tracker-init) - (a2-17 (-> *part-group-id-table* 58)) - (a3-10 0) - (t0-8 #f) - (t1-8 #f) - (t2-3 #f) - (t3-1 *launch-matrix*) - ) - (set! (-> t3-1 trans quad) (-> self control trans quad)) - ((the-as (function object object object object object object object object none) t9-20) - a0-45 - a1-24 - a2-17 - a3-10 - t0-8 - t1-8 - t2-3 - t3-1 - ) - ) - (-> s5-4 ppointer) - ) - ) + (part-tracker-spawn :to *entity-pool* :group group-explode-death :mat-joint (-> self control trans)) ) (('lava 'melt) (sound-play "death-melt") - (let ((s5-6 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-6 - (let ((t9-24 (method-of-type part-tracker activate))) - (t9-24 - (the-as part-tracker s5-6) - *entity-pool* - (symbol->string (-> part-tracker symbol)) - (the-as pointer #x70004000) - ) - ) - (let ((t9-25 run-function-in-process) - (a0-52 s5-6) - (a1-29 part-tracker-init) - (a2-23 (-> *part-group-id-table* 57)) - (a3-13 0) - (t0-10 #f) - (t1-10 #f) - (t2-5 #f) - (t3-2 *launch-matrix*) - ) - (set! (-> t3-2 trans quad) (-> self control trans quad)) - ((the-as (function object object object object object object object object none) t9-25) - a0-52 - a1-29 - a2-23 - a3-13 - t0-10 - t1-10 - t2-5 - t3-2 - ) - ) - (-> s5-6 ppointer) - ) - ) + (part-tracker-spawn :to *entity-pool* :group group-lava-death :mat-joint (-> self control trans)) ) ) (let ((v1-73 (-> self control root-prim))) diff --git a/test/decompiler/reference/jak2/levels/city/ctywide-obs_REF.gc b/test/decompiler/reference/jak2/levels/city/ctywide-obs_REF.gc index a2fd2af136..0ca970e835 100644 --- a/test/decompiler/reference/jak2/levels/city/ctywide-obs_REF.gc +++ b/test/decompiler/reference/jak2/levels/city/ctywide-obs_REF.gc @@ -1002,7 +1002,7 @@ ;; WARN: Return type mismatch int vs none. (defmethod fruit-stand-method-29 ((this fruit-stand)) (logior! (-> this mask) (process-mask crate)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 185) this)) + (set! (-> this part) (create-launch-control group-ctywide-fruit this)) 0 (none) ) @@ -2149,7 +2149,7 @@ (set! (-> this jm-turret) (new 'process 'joint-mod (joint-mod-mode joint-set*) this 6)) (set! (-> this jm-gunsL) (new 'process 'joint-mod (joint-mod-mode joint-set*) this 7)) (set! (-> this jm-gunsR) (new 'process 'joint-mod (joint-mod-mode joint-set*) this 8)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 186) this)) + (set! (-> this part) (create-launch-control group-cty-guard-turret-hit this)) (set! (-> this id) (res-lump-value arg0 'extra-id int :default (the-as uint128 -1) :time -1000000000.0)) (set! (-> this destroyed) #f) (set! (-> this hit-points) 6) @@ -2649,7 +2649,7 @@ (let ((t9-8 run-function-in-process) (a0-14 gp-2) (a1-10 part-tracker-init) - (a2-7 (-> *part-group-id-table* 161)) + (a2-7 group-vehicle-explosion) (a3-2 0) (t0-0 #f) (t1-0 #f) @@ -2899,7 +2899,7 @@ ;; WARN: Return type mismatch int vs none. (defmethod propa-method-30 ((this propa)) (logior! (-> this mask) (process-mask crate)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 170) this)) + (set! (-> this part) (create-launch-control group-ctywide-baron-propoganda-holo this)) 0 (none) ) @@ -3853,9 +3853,9 @@ ;; definition for method 31 of type burning-bush ;; WARN: Return type mismatch int vs none. (defmethod burning-bush-method-31 ((this burning-bush)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 173) this)) - (set! (-> this part-off) (create-launch-control (-> *part-group-id-table* 171) this)) - (set! (-> this part-alert) (create-launch-control (-> *part-group-id-table* 172) this)) + (set! (-> this part) (create-launch-control group-ctywide-burning-bush-holo-on this)) + (set! (-> this part-off) (create-launch-control group-ctywide-burning-bush-holo-off this)) + (set! (-> this part-alert) (create-launch-control group-ctywide-burning-bush-holo-red this)) 0 (none) ) 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 af81edcce2..5fc994695e 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 @@ -1208,7 +1208,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 1025) + group-farm-marrow-explode 300 #f #f @@ -1484,7 +1484,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 1026) + group-farm-beetree-explode 300 #f #f @@ -1754,7 +1754,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 1027) + group-farm-cabbage-explode 300 #f #f @@ -2011,7 +2011,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 1028) + group-farm-small-cabbage-explode 300 #f #f @@ -2313,7 +2313,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 1029) + group-farm-chilirots-explode 300 #f #f 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 0c99eb9dc1..7e2acdff19 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 @@ -1185,7 +1185,7 @@ (the-as skeleton-group (art-group-get-by-name *level* "skel-market-basket-a" (the-as (pointer uint32) #f))) (the-as pair 0) ) - (set! (-> this part-explode) (-> *part-group-id-table* 1007)) + (set! (-> this part-explode) group-mbasket-a-explode) (set! (-> this draw light-index) (the-as uint 10)) (transform-post) (go (method-of-object this idle)) @@ -1277,7 +1277,7 @@ (the-as skeleton-group (art-group-get-by-name *level* "skel-market-basket-b" (the-as (pointer uint32) #f))) (the-as pair 0) ) - (set! (-> this part-explode) (-> *part-group-id-table* 1008)) + (set! (-> this part-explode) group-mbasket-b-explode) (set! (-> this draw light-index) (the-as uint 10)) (transform-post) (go (method-of-object this idle)) @@ -1369,7 +1369,7 @@ (the-as skeleton-group (art-group-get-by-name *level* "skel-market-crate" (the-as (pointer uint32) #f))) (the-as pair 0) ) - (set! (-> this part-explode) (-> *part-group-id-table* 1006)) + (set! (-> this part-explode) group-mcrate-explode) (set! (-> this draw light-index) (the-as uint 10)) (transform-post) (go (method-of-object this idle)) @@ -1461,7 +1461,7 @@ (the-as skeleton-group (art-group-get-by-name *level* "skel-market-sack-a" (the-as (pointer uint32) #f))) (the-as pair 0) ) - (set! (-> this part-explode) (-> *part-group-id-table* 1009)) + (set! (-> this part-explode) group-msack-a-explode) (set! (-> this draw light-index) (the-as uint 10)) (transform-post) (go (method-of-object this idle)) @@ -1553,7 +1553,7 @@ (the-as skeleton-group (art-group-get-by-name *level* "skel-market-sack-b" (the-as (pointer uint32) #f))) (the-as pair 0) ) - (set! (-> this part-explode) (-> *part-group-id-table* 1010)) + (set! (-> this part-explode) group-msack-b-explode) (set! (-> this draw light-index) (the-as uint 10)) (transform-post) (go (method-of-object this idle)) diff --git a/test/decompiler/reference/jak2/levels/city/onintent/onin-game_REF.gc b/test/decompiler/reference/jak2/levels/city/onintent/onin-game_REF.gc index 99b44d3451..a03421db66 100644 --- a/test/decompiler/reference/jak2/levels/city/onintent/onin-game_REF.gc +++ b/test/decompiler/reference/jak2/levels/city/onintent/onin-game_REF.gc @@ -1921,16 +1921,16 @@ (v1-5 (-> self bubble-type)) (a2-4 (cond ((zero? v1-5) - (-> *part-group-id-table* 807) + group-onin-bubble-birth-triangle ) ((= v1-5 1) - (-> *part-group-id-table* 808) + group-onin-bubble-birth-circle ) ((= v1-5 2) - (-> *part-group-id-table* 810) + group-onin-bubble-birth-x ) (else - (-> *part-group-id-table* 809) + group-onin-bubble-birth-square ) ) ) @@ -1985,16 +1985,16 @@ (v1-8 (-> self bubble-type)) (a2-6 (cond ((zero? v1-8) - (-> *part-group-id-table* 803) + group-onin-bubble-pop-triangle ) ((= v1-8 1) - (-> *part-group-id-table* 804) + group-onin-bubble-pop-circle ) ((= v1-8 2) - (-> *part-group-id-table* 806) + group-onin-bubble-pop-x ) (else - (-> *part-group-id-table* 805) + group-onin-bubble-pop-square ) ) ) @@ -2059,16 +2059,16 @@ (v1-16 (-> self bubble-type)) (a2-4 (cond ((zero? v1-16) - (-> *part-group-id-table* 811) + group-onin-bubble-land-triangle ) ((= v1-16 1) - (-> *part-group-id-table* 812) + group-onin-bubble-land-circle ) ((= v1-16 2) - (-> *part-group-id-table* 814) + group-onin-bubble-land-x ) (else - (-> *part-group-id-table* 813) + group-onin-bubble-land-square ) ) ) @@ -2124,16 +2124,16 @@ (set! (-> self part) (create-launch-control (cond ((zero? arg1) - (-> *part-group-id-table* 799) + group-onin-bubble-triangle ) ((= arg1 1) - (-> *part-group-id-table* 800) + group-onin-bubble-circle ) ((= arg1 2) - (-> *part-group-id-table* 802) + group-onin-bubble-x ) (else - (-> *part-group-id-table* 801) + group-onin-bubble-square ) ) self diff --git a/test/decompiler/reference/jak2/levels/city/port/ctyport-part_REF.gc b/test/decompiler/reference/jak2/levels/city/port/ctyport-part_REF.gc index 1f798264f2..31b735de10 100644 --- a/test/decompiler/reference/jak2/levels/city/port/ctyport-part_REF.gc +++ b/test/decompiler/reference/jak2/levels/city/port/ctyport-part_REF.gc @@ -3801,7 +3801,7 @@ (the-as skeleton-group (art-group-get-by-name *level* "skel-farthy" (the-as (pointer uint32) #f))) (the-as pair 0) ) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 969) this)) + (set! (-> this part) (create-launch-control group-farthy-halo this)) ) ) (set! (-> this draw light-index) (the-as uint 10)) diff --git a/test/decompiler/reference/jak2/levels/city/port/portrun/portrun_REF.gc b/test/decompiler/reference/jak2/levels/city/port/portrun/portrun_REF.gc index 4c075190a9..c41ccb5a13 100644 --- a/test/decompiler/reference/jak2/levels/city/port/portrun/portrun_REF.gc +++ b/test/decompiler/reference/jak2/levels/city/port/portrun/portrun_REF.gc @@ -1060,7 +1060,7 @@ (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 group) group-vehicle-explosion) (set! (-> gp-2 collide-with) (collide-spec jak crate hit-by-others-list player-list)) (set! (-> gp-2 penetrate-using) (penetrate explode)) (explosion-spawn self explosion gp-2) @@ -1068,36 +1068,7 @@ ) (else (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))) - (t9-12 (the-as part-tracker gp-4) self (symbol->string (-> part-tracker symbol)) (the-as pointer #x70004000)) - ) - (let ((t9-13 run-function-in-process) - (a0-31 gp-4) - (a1-14 part-tracker-init) - (a2-14 (-> *part-group-id-table* 161)) - (a3-5 0) - (t0-3 #f) - (t1-2 #f) - (t2-2 #f) - (t3-0 *launch-matrix*) - ) - (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 - a2-14 - a3-5 - t0-3 - t1-2 - t2-2 - t3-0 - ) - ) - (-> gp-4 ppointer) - ) - ) + (part-tracker-spawn :to self :group group-vehicle-explosion :mat-joint (-> self root trans)) ) ) ) @@ -1435,41 +1406,7 @@ ) 0 (logior! (-> self draw status) (draw-control-status no-draw)) - (let ((s5-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-1 - (let ((t9-3 (method-of-type part-tracker activate))) - (t9-3 - (the-as part-tracker s5-1) - *entity-pool* - (symbol->string (-> part-tracker symbol)) - (the-as pointer #x70004000) - ) - ) - (let ((t9-4 run-function-in-process) - (a0-8 s5-1) - (a1-4 part-tracker-init) - (a2-6 (-> *part-group-id-table* 1057)) - (a3-2 0) - (t0-0 #f) - (t1-0 #f) - (t2-0 #f) - (t3-0 *launch-matrix*) - ) - (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 - a2-6 - a3-2 - t0-0 - t1-0 - t2-0 - t3-0 - ) - ) - (-> s5-1 ppointer) - ) - ) + (part-tracker-spawn :to *entity-pool* :group group-cargo-explosion :mat-joint (-> self root trans)) (process-spawn joint-exploder (art-group-get-by-name *level* "skel-ctyport-cargo-explode" (the-as (pointer uint32) #f)) 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 4c987656b7..bf4d0c8b06 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 @@ -837,7 +837,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 1059) + group-turbo-ring-explode 0 #f #f @@ -933,7 +933,7 @@ (set! (-> this plane w) (- (vector-dot (-> this plane) (-> this root trans)))) (update-transforms (-> this root)) (set! (-> this player-got) #f) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 1058) this)) + (set! (-> this part) (create-launch-control group-turbo-ring this)) (if (not (-> this persistent)) (set! (-> this minimap) (add-icon! *minimap* this (the-as uint 15) (the-as int #f) (the-as vector #t) 0)) ) diff --git a/test/decompiler/reference/jak2/levels/city/protect/protect_REF.gc b/test/decompiler/reference/jak2/levels/city/protect/protect_REF.gc index fadf02320d..113e6e13d2 100644 --- a/test/decompiler/reference/jak2/levels/city/protect/protect_REF.gc +++ b/test/decompiler/reference/jak2/levels/city/protect/protect_REF.gc @@ -107,7 +107,7 @@ (set! (-> self root trans quad) (-> arg0 quad)) (quaternion-copy! (-> self root quat) (the-as quaternion arg1)) (set! (-> self root scale quad) (-> arg2 quad)) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 182) self)) + (set! (-> self part) (create-launch-control group-slums-seal-of-mar-glow self)) (set! (-> self trans-y) (-> arg0 y)) (seal-of-mar-method-23 self) (go-virtual idle) diff --git a/test/decompiler/reference/jak2/levels/city/traffic/citizen/guard_REF.gc b/test/decompiler/reference/jak2/levels/city/traffic/citizen/guard_REF.gc index ffcad41b32..1ee2cb7593 100644 --- a/test/decompiler/reference/jak2/levels/city/traffic/citizen/guard_REF.gc +++ b/test/decompiler/reference/jak2/levels/city/traffic/citizen/guard_REF.gc @@ -2923,66 +2923,8 @@ (vector-orient-by-quat! s2-1 s2-1 a2-4) ) ) - (let ((s1-2 (get-process *default-dead-pool* part-tracker #x4000))) - (when s1-2 - (let ((t9-14 (method-of-type part-tracker activate))) - (t9-14 (the-as part-tracker s1-2) this (symbol->string (-> part-tracker symbol)) (the-as pointer #x70004000)) - ) - (let ((t9-15 run-function-in-process) - (a0-33 s1-2) - (a1-24 part-tracker-init) - (a2-9 (-> *part-group-id-table* 140)) - (a3-1 0) - (t0-0 #f) - (t1-0 #f) - (t2-0 #f) - (t3-0 *launch-matrix*) - ) - (set! (-> t3-0 trans quad) (-> s4-0 quad)) - ((the-as (function object object object object object object object object none) t9-15) - a0-33 - a1-24 - a2-9 - a3-1 - t0-0 - t1-0 - t2-0 - t3-0 - ) - ) - (-> s1-2 ppointer) - ) - ) - (let ((s1-3 (get-process *default-dead-pool* part-tracker #x4000))) - (when s1-3 - (let ((t9-17 (method-of-type part-tracker activate))) - (t9-17 (the-as part-tracker s1-3) this (symbol->string (-> part-tracker symbol)) (the-as pointer #x70004000)) - ) - (let ((t9-18 run-function-in-process) - (a0-36 s1-3) - (a1-27 part-tracker-init) - (a2-14 (-> *part-group-id-table* 140)) - (a3-3 0) - (t0-1 #f) - (t1-1 #f) - (t2-1 #f) - (t3-1 *launch-matrix*) - ) - (set! (-> t3-1 trans quad) (-> s5-0 quad)) - ((the-as (function object object object object object object object object none) t9-18) - a0-36 - a1-27 - a2-14 - a3-3 - t0-1 - t1-1 - t2-1 - t3-1 - ) - ) - (-> s1-3 ppointer) - ) - ) + (part-tracker-spawn :to this :group part-crimson-lightning-glow :mat-joint s4-0) + (part-tracker-spawn :to this :group part-crimson-lightning-glow :mat-joint s5-0) (set-point! (-> this l-control) 0 s4-0) (set-point! (-> this l-control) 1 s5-0) (set! (-> this l-control spec) (-> *lightning-spec-id-table* 13)) @@ -3011,66 +2953,8 @@ (spread-lightning-lazer (-> this l-control) s5-0 s2-1 (-> s3-0 best-other-tri normal)) ) (else - (let ((s3-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when s3-1 - (let ((t9-26 (method-of-type part-tracker activate))) - (t9-26 (the-as part-tracker s3-1) this (symbol->string (-> part-tracker symbol)) (the-as pointer #x70004000)) - ) - (let ((t9-27 run-function-in-process) - (a0-59 s3-1) - (a1-36 part-tracker-init) - (a2-23 (-> *part-group-id-table* 140)) - (a3-7 0) - (t0-3 #f) - (t1-2 #f) - (t2-2 #f) - (t3-2 *launch-matrix*) - ) - (set! (-> t3-2 trans quad) (-> s4-0 quad)) - ((the-as (function object object object object object object object object none) t9-27) - a0-59 - a1-36 - a2-23 - a3-7 - t0-3 - t1-2 - t2-2 - t3-2 - ) - ) - (-> s3-1 ppointer) - ) - ) - (let ((s3-2 (get-process *default-dead-pool* part-tracker #x4000))) - (when s3-2 - (let ((t9-29 (method-of-type part-tracker activate))) - (t9-29 (the-as part-tracker s3-2) this (symbol->string (-> part-tracker symbol)) (the-as pointer #x70004000)) - ) - (let ((t9-30 run-function-in-process) - (a0-62 s3-2) - (a1-39 part-tracker-init) - (a2-28 (-> *part-group-id-table* 140)) - (a3-9 0) - (t0-4 #f) - (t1-3 #f) - (t2-3 #f) - (t3-3 *launch-matrix*) - ) - (set! (-> t3-3 trans quad) (-> s5-0 quad)) - ((the-as (function object object object object object object object object none) t9-30) - a0-62 - a1-39 - a2-28 - a3-9 - t0-4 - t1-3 - t2-3 - t3-3 - ) - ) - (-> s3-2 ppointer) - ) - ) + (part-tracker-spawn :to this :group part-crimson-lightning-glow :mat-joint s4-0) + (part-tracker-spawn :to this :group part-crimson-lightning-glow :mat-joint s5-0) (set! (-> this l-control state points-to-draw) 9) (set! (-> this l-control spec) (-> *lightning-spec-id-table* 14)) (let ((v1-77 s4-0)) diff --git a/test/decompiler/reference/jak2/levels/city/traffic/citizen/metalhead-flitter_REF.gc b/test/decompiler/reference/jak2/levels/city/traffic/citizen/metalhead-flitter_REF.gc index 714ac7314e..93e5322005 100644 --- a/test/decompiler/reference/jak2/levels/city/traffic/citizen/metalhead-flitter_REF.gc +++ b/test/decompiler/reference/jak2/levels/city/traffic/citizen/metalhead-flitter_REF.gc @@ -332,78 +332,10 @@ :code (behavior () (case (-> self level name) (('ruins) - (let ((gp-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-0 - (let ((t9-1 (method-of-type part-tracker activate))) - (t9-1 - (the-as part-tracker gp-0) - *entity-pool* - (symbol->string (-> part-tracker symbol)) - (the-as pointer #x70004000) - ) - ) - (let ((t9-2 run-function-in-process) - (a0-4 gp-0) - (a1-2 part-tracker-init) - (a2-4 (-> *part-group-id-table* 163)) - (a3-1 0) - (t0-0 #f) - (t1-0 #f) - (t2-0 #f) - (t3-0 *launch-matrix*) - ) - (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 - a2-4 - a3-1 - t0-0 - t1-0 - t2-0 - t3-0 - ) - ) - (-> gp-0 ppointer) - ) - ) + (part-tracker-spawn :to *entity-pool* :group (-> *part-group-id-table* 163) :mat-joint (-> self root trans)) ) (('strip) - (let ((gp-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-1 - (let ((t9-4 (method-of-type part-tracker activate))) - (t9-4 - (the-as part-tracker gp-1) - *entity-pool* - (symbol->string (-> part-tracker symbol)) - (the-as pointer #x70004000) - ) - ) - (let ((t9-5 run-function-in-process) - (a0-8 gp-1) - (a1-5 part-tracker-init) - (a2-9 (-> *part-group-id-table* 164)) - (a3-3 0) - (t0-1 #f) - (t1-1 #f) - (t2-1 #f) - (t3-1 *launch-matrix*) - ) - (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 - a2-9 - a3-3 - t0-1 - t1-1 - t2-1 - t3-1 - ) - ) - (-> gp-1 ppointer) - ) - ) + (part-tracker-spawn :to *entity-pool* :group (-> *part-group-id-table* 164) :mat-joint (-> self root trans)) ) ) (suspend-for (seconds 0.6) @@ -446,41 +378,7 @@ (ja-no-eval :group! flitter-ambush-jump-ja :num! (seek!)) (until #f (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))) - (t9-3 - (the-as part-tracker gp-0) - *entity-pool* - (symbol->string (-> part-tracker symbol)) - (the-as pointer #x70004000) - ) - ) - (let ((t9-4 run-function-in-process) - (a0-4 gp-0) - (a1-4 part-tracker-init) - (a2-5 (-> *part-group-id-table* 144)) - (a3-1 0) - (t0-0 #f) - (t1-0 #f) - (t2-0 #f) - (t3-0 *launch-matrix*) - ) - (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 - a2-5 - a3-1 - t0-0 - t1-0 - t2-0 - t3-0 - ) - ) - (-> gp-0 ppointer) - ) - ) + (part-tracker-spawn :to *entity-pool* :group group-flitter-dust-puff :mat-joint (-> self root trans)) (goto cfg-10) ) (suspend) diff --git a/test/decompiler/reference/jak2/levels/city/traffic/vehicle/vehicle-util_REF.gc b/test/decompiler/reference/jak2/levels/city/traffic/vehicle/vehicle-util_REF.gc index c22e8d5783..6d3906ace2 100644 --- a/test/decompiler/reference/jak2/levels/city/traffic/vehicle/vehicle-util_REF.gc +++ b/test/decompiler/reference/jak2/levels/city/traffic/vehicle/vehicle-util_REF.gc @@ -904,7 +904,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 162) + group-vehicle-engine-start 0 #f #f diff --git a/test/decompiler/reference/jak2/levels/city/vinroom/vinroom-scenes_REF.gc b/test/decompiler/reference/jak2/levels/city/vinroom/vinroom-scenes_REF.gc index 99ec1e6268..3c78cfe9fc 100644 --- a/test/decompiler/reference/jak2/levels/city/vinroom/vinroom-scenes_REF.gc +++ b/test/decompiler/reference/jak2/levels/city/vinroom/vinroom-scenes_REF.gc @@ -784,41 +784,7 @@ ;; WARN: Return type mismatch int vs none. (defbehavior vin-rescue-yellow-shot scene-player ((arg0 object) (arg1 vector) (arg2 sparticle-launch-state)) (when (not (-> self aborted?)) - (let ((s4-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when s4-0 - (let ((t9-1 (method-of-type part-tracker activate))) - (t9-1 - (the-as part-tracker s4-0) - (the-as process-tree arg0) - (symbol->string (-> part-tracker symbol)) - (the-as pointer #x70004000) - ) - ) - (let ((t9-2 run-function-in-process) - (a0-3 s4-0) - (a1-5 part-tracker-init) - (a2-3 (-> *part-group-id-table* 280)) - (a3-1 0) - (t0-0 #f) - (t1-0 #f) - (t2-0 #f) - (t3-0 *launch-matrix*) - ) - (set! (-> t3-0 trans quad) (-> arg1 quad)) - ((the-as (function object object object object object object object object none) t9-2) - a0-3 - a1-5 - a2-3 - a3-1 - t0-0 - t1-0 - t2-0 - t3-0 - ) - ) - (-> s4-0 ppointer) - ) - ) + (part-tracker-spawn :to (the-as process-tree arg0) :group vin-shot :mat-joint arg1) (draw-beam (-> *part-id-table* 1242) arg1 (-> arg2 sprite rot-syvel) #f #f) ) 0 diff --git a/test/decompiler/reference/jak2/levels/common/ai/ashelin/ash-shot_REF.gc b/test/decompiler/reference/jak2/levels/common/ai/ashelin/ash-shot_REF.gc index 7a1f30ed52..40e866f7b8 100644 --- a/test/decompiler/reference/jak2/levels/common/ai/ashelin/ash-shot_REF.gc +++ b/test/decompiler/reference/jak2/levels/common/ai/ashelin/ash-shot_REF.gc @@ -346,41 +346,7 @@ ;; WARN: Return type mismatch int vs none. (defmethod spawn-shell-particles ((this ashelin-shot)) "TODO - confirm" - (let ((gp-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-0 - (let ((t9-1 (method-of-type part-tracker activate))) - (t9-1 - (the-as part-tracker gp-0) - *entity-pool* - (symbol->string (-> part-tracker symbol)) - (the-as pointer #x70004000) - ) - ) - (let ((t9-2 run-function-in-process) - (a0-3 gp-0) - (a1-2 part-tracker-init) - (a2-4 (-> *part-group-id-table* 149)) - (a3-1 0) - (t0-0 #f) - (t1-0 #f) - (t2-0 #f) - (t3-0 *launch-matrix*) - ) - (set! (-> t3-0 trans quad) (-> this root trans quad)) - ((the-as (function object object object object object object object object none) t9-2) - a0-3 - a1-2 - a2-4 - a3-1 - t0-0 - t1-0 - t2-0 - t3-0 - ) - ) - (-> gp-0 ppointer) - ) - ) + (part-tracker-spawn :to *entity-pool* :group group-ashelin-shot-hit :mat-joint (-> this root trans)) 0 (none) ) diff --git a/test/decompiler/reference/jak2/levels/common/ai/sig/sig-shot_REF.gc b/test/decompiler/reference/jak2/levels/common/ai/sig/sig-shot_REF.gc index 8ebf40933c..9d35fa2392 100644 --- a/test/decompiler/reference/jak2/levels/common/ai/sig/sig-shot_REF.gc +++ b/test/decompiler/reference/jak2/levels/common/ai/sig/sig-shot_REF.gc @@ -346,41 +346,7 @@ ;; WARN: Return type mismatch int vs none. (defmethod spawn-shell-particles ((this sig-shot)) "TODO - confirm" - (let ((gp-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-0 - (let ((t9-1 (method-of-type part-tracker activate))) - (t9-1 - (the-as part-tracker gp-0) - *entity-pool* - (symbol->string (-> part-tracker symbol)) - (the-as pointer #x70004000) - ) - ) - (let ((t9-2 run-function-in-process) - (a0-3 gp-0) - (a1-2 part-tracker-init) - (a2-4 (-> *part-group-id-table* 146)) - (a3-1 0) - (t0-0 #f) - (t1-0 #f) - (t2-0 #f) - (t3-0 *launch-matrix*) - ) - (set! (-> t3-0 trans quad) (-> this root trans quad)) - ((the-as (function object object object object object object object object none) t9-2) - a0-3 - a1-2 - a2-4 - a3-1 - t0-0 - t1-0 - t2-0 - t3-0 - ) - ) - (-> gp-0 ppointer) - ) - ) + (part-tracker-spawn :to *entity-pool* :group group-sig-shot-hit :mat-joint (-> this root trans)) 0 (none) ) diff --git a/test/decompiler/reference/jak2/levels/common/ai/sig/sig_REF.gc b/test/decompiler/reference/jak2/levels/common/ai/sig/sig_REF.gc index 9539443f95..038616d2f9 100644 --- a/test/decompiler/reference/jak2/levels/common/ai/sig/sig_REF.gc +++ b/test/decompiler/reference/jak2/levels/common/ai/sig/sig_REF.gc @@ -644,7 +644,7 @@ (the-as pair 0) ) (init-enemy-behaviour-and-stats! this *sig-nav-enemy-info*) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 147) this)) + (set! (-> this part) (create-launch-control group-sig-plasma this)) (add-connection *part-engine* this 23 this 671 (new 'static 'sphere :y 327.68 :z 7536.64 :r 163840.0)) (set! (-> this skel interp-select 0) (the-as int (the-as uint #x1ffc007ffff0))) (set! (-> this skel interp-select 1) 0) 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 9dc6d7c66d..e010921570 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 @@ -685,41 +685,7 @@ (set! (-> s2-0 quad) (-> this 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))) - (when s3-1 - (let ((t9-2 (method-of-type part-tracker activate))) - (t9-2 - (the-as part-tracker s3-1) - *entity-pool* - (symbol->string (-> part-tracker symbol)) - (the-as pointer #x70004000) - ) - ) - (let ((t9-3 run-function-in-process) - (a0-28 s3-1) - (a1-6 part-tracker-init) - (a2-6 (-> *part-group-id-table* 121)) - (a3-1 0) - (t0-0 #f) - (t1-0 #f) - (t2-0 #f) - (t3-0 *launch-matrix*) - ) - (set! (-> t3-0 trans quad) (-> s2-0 quad)) - ((the-as (function object object object object object object object object none) t9-3) - a0-28 - a1-6 - a2-6 - a3-1 - t0-0 - t1-0 - t2-0 - t3-0 - ) - ) - (-> s3-1 ppointer) - ) - ) + (part-tracker-spawn :to *entity-pool* :group group-part-water-splash :mat-joint s2-0) (sound-play "splash-out") ) ) diff --git a/test/decompiler/reference/jak2/levels/common/enemy/centurion_REF.gc b/test/decompiler/reference/jak2/levels/common/enemy/centurion_REF.gc index 34f98e8353..7ecaeef189 100644 --- a/test/decompiler/reference/jak2/levels/common/enemy/centurion_REF.gc +++ b/test/decompiler/reference/jak2/levels/common/enemy/centurion_REF.gc @@ -1605,7 +1605,7 @@ (set! (-> this skel generate-frame-function) create-interpolated2-joint-animation-frame) (init-enemy-behaviour-and-stats! this *centurion-nav-enemy-info*) (set! (-> this shield-shot) (the-as uint 0)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 474) this)) + (set! (-> this part) (create-launch-control group-centurion-shield this)) (let ((v1-11 (-> this neck))) (set! (-> v1-11 up) (the-as uint 1)) (set! (-> v1-11 nose) (the-as uint 2)) diff --git a/test/decompiler/reference/jak2/levels/common/enemy/flitter_REF.gc b/test/decompiler/reference/jak2/levels/common/enemy/flitter_REF.gc index 0086f30ae0..3d3f260cb2 100644 --- a/test/decompiler/reference/jak2/levels/common/enemy/flitter_REF.gc +++ b/test/decompiler/reference/jak2/levels/common/enemy/flitter_REF.gc @@ -677,41 +677,7 @@ (logior! (-> self draw status) (draw-control-status no-draw)) ) :code (behavior () - (let ((gp-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-0 - (let ((t9-1 (method-of-type part-tracker activate))) - (t9-1 - (the-as part-tracker gp-0) - *entity-pool* - (symbol->string (-> part-tracker symbol)) - (the-as pointer #x70004000) - ) - ) - (let ((t9-2 run-function-in-process) - (a0-2 gp-0) - (a1-2 part-tracker-init) - (a2-4 (-> *part-group-id-table* 145)) - (a3-1 0) - (t0-0 #f) - (t1-0 #f) - (t2-0 #f) - (t3-0 *launch-matrix*) - ) - (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 - a2-4 - a3-1 - t0-0 - t1-0 - t2-0 - t3-0 - ) - ) - (-> gp-0 ppointer) - ) - ) + (part-tracker-spawn :to *entity-pool* :group group-flitter-birth :mat-joint (-> self root trans)) (suspend-for (seconds 0.6) ) (+! (-> self root trans y) -8192.0) @@ -767,41 +733,7 @@ (ja-no-eval :group! flitter-ambush-jump-ja :num! (seek!)) (until #f (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))) - (t9-3 - (the-as part-tracker gp-0) - *entity-pool* - (symbol->string (-> part-tracker symbol)) - (the-as pointer #x70004000) - ) - ) - (let ((t9-4 run-function-in-process) - (a0-4 gp-0) - (a1-4 part-tracker-init) - (a2-5 (-> *part-group-id-table* 144)) - (a3-1 0) - (t0-0 #f) - (t1-0 #f) - (t2-0 #f) - (t3-0 *launch-matrix*) - ) - (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 - a2-5 - a3-1 - t0-0 - t1-0 - t2-0 - t3-0 - ) - ) - (-> gp-0 ppointer) - ) - ) + (part-tracker-spawn :to *entity-pool* :group group-flitter-dust-puff :mat-joint (-> self root trans)) (goto cfg-10) ) (suspend) diff --git a/test/decompiler/reference/jak2/levels/common/enemy/grenadier_REF.gc b/test/decompiler/reference/jak2/levels/common/enemy/grenadier_REF.gc index 71ced56e38..4283a1628a 100644 --- a/test/decompiler/reference/jak2/levels/common/enemy/grenadier_REF.gc +++ b/test/decompiler/reference/jak2/levels/common/enemy/grenadier_REF.gc @@ -1335,7 +1335,7 @@ (set-vector! (-> this root scale) 1.5 1.5 1.5 1.0) (set! (-> this joint) (new 'process 'joint-mod-blend-world this 17 #f 0.0)) (logior! (-> this joint blend-flags) (joint-mod-blend-flags rotation)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 1150) this)) + (set! (-> this part) (create-launch-control group-grenadier-drip this)) (set! (-> this hostile-path) (new 'process 'path-control this 'hostile 0.0 (-> this entity) #t)) (if (zero? (-> this hostile-path)) (set! (-> this hostile-path) #f) 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 f460be3d22..2fc17038a0 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 @@ -2529,66 +2529,8 @@ (vector-orient-by-quat! s2-1 s2-1 a2-4) ) ) - (let ((s1-2 (get-process *default-dead-pool* part-tracker #x4000))) - (when s1-2 - (let ((t9-15 (method-of-type part-tracker activate))) - (t9-15 (the-as part-tracker s1-2) this (symbol->string (-> part-tracker symbol)) (the-as pointer #x70004000)) - ) - (let ((t9-16 run-function-in-process) - (a0-34 s1-2) - (a1-25 part-tracker-init) - (a2-9 (-> *part-group-id-table* 140)) - (a3-1 0) - (t0-0 #f) - (t1-0 #f) - (t2-0 #f) - (t3-0 *launch-matrix*) - ) - (set! (-> t3-0 trans quad) (-> s4-0 quad)) - ((the-as (function object object object object object object object object none) t9-16) - a0-34 - a1-25 - a2-9 - a3-1 - t0-0 - t1-0 - t2-0 - t3-0 - ) - ) - (-> s1-2 ppointer) - ) - ) - (let ((s1-3 (get-process *default-dead-pool* part-tracker #x4000))) - (when s1-3 - (let ((t9-18 (method-of-type part-tracker activate))) - (t9-18 (the-as part-tracker s1-3) this (symbol->string (-> part-tracker symbol)) (the-as pointer #x70004000)) - ) - (let ((t9-19 run-function-in-process) - (a0-37 s1-3) - (a1-28 part-tracker-init) - (a2-14 (-> *part-group-id-table* 140)) - (a3-3 0) - (t0-1 #f) - (t1-1 #f) - (t2-1 #f) - (t3-1 *launch-matrix*) - ) - (set! (-> t3-1 trans quad) (-> s5-0 quad)) - ((the-as (function object object object object object object object object none) t9-19) - a0-37 - a1-28 - a2-14 - a3-3 - t0-1 - t1-1 - t2-1 - t3-1 - ) - ) - (-> s1-3 ppointer) - ) - ) + (part-tracker-spawn :to this :group part-crimson-lightning-glow :mat-joint s4-0) + (part-tracker-spawn :to this :group part-crimson-lightning-glow :mat-joint s5-0) (set-point! (-> this l-control) 0 s4-0) (set-point! (-> this l-control) 1 s5-0) (set! (-> this l-control spec) (-> *lightning-spec-id-table* 13)) @@ -2606,66 +2548,8 @@ ) ) (else - (let ((s3-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when s3-1 - (let ((t9-26 (method-of-type part-tracker activate))) - (t9-26 (the-as part-tracker s3-1) this (symbol->string (-> part-tracker symbol)) (the-as pointer #x70004000)) - ) - (let ((t9-27 run-function-in-process) - (a0-56 s3-1) - (a1-36 part-tracker-init) - (a2-25 (-> *part-group-id-table* 140)) - (a3-8 0) - (t0-3 #f) - (t1-2 #f) - (t2-2 #f) - (t3-2 *launch-matrix*) - ) - (set! (-> t3-2 trans quad) (-> s4-0 quad)) - ((the-as (function object object object object object object object object none) t9-27) - a0-56 - a1-36 - a2-25 - a3-8 - t0-3 - t1-2 - t2-2 - t3-2 - ) - ) - (-> s3-1 ppointer) - ) - ) - (let ((s3-2 (get-process *default-dead-pool* part-tracker #x4000))) - (when s3-2 - (let ((t9-29 (method-of-type part-tracker activate))) - (t9-29 (the-as part-tracker s3-2) this (symbol->string (-> part-tracker symbol)) (the-as pointer #x70004000)) - ) - (let ((t9-30 run-function-in-process) - (a0-59 s3-2) - (a1-39 part-tracker-init) - (a2-30 (-> *part-group-id-table* 140)) - (a3-10 0) - (t0-4 #f) - (t1-3 #f) - (t2-3 #f) - (t3-3 *launch-matrix*) - ) - (set! (-> t3-3 trans quad) (-> s5-0 quad)) - ((the-as (function object object object object object object object object none) t9-30) - a0-59 - a1-39 - a2-30 - a3-10 - t0-4 - t1-3 - t2-3 - t3-3 - ) - ) - (-> s3-2 ppointer) - ) - ) + (part-tracker-spawn :to this :group part-crimson-lightning-glow :mat-joint s4-0) + (part-tracker-spawn :to this :group part-crimson-lightning-glow :mat-joint s5-0) (set! (-> this l-control state points-to-draw) 9) (set! (-> this l-control spec) (-> *lightning-spec-id-table* 14)) (let ((v1-67 s4-0)) 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 2d38195261..9601a658a4 100644 --- a/test/decompiler/reference/jak2/levels/common/enemy/hopper_REF.gc +++ b/test/decompiler/reference/jak2/levels/common/enemy/hopper_REF.gc @@ -441,41 +441,7 @@ (set! (-> s2-0 quad) (-> this 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))) - (when s3-1 - (let ((t9-2 (method-of-type part-tracker activate))) - (t9-2 - (the-as part-tracker s3-1) - *entity-pool* - (symbol->string (-> part-tracker symbol)) - (the-as pointer #x70004000) - ) - ) - (let ((t9-3 run-function-in-process) - (a0-26 s3-1) - (a1-6 part-tracker-init) - (a2-6 (-> *part-group-id-table* 121)) - (a3-1 0) - (t0-0 #f) - (t1-0 #f) - (t2-0 #f) - (t3-0 *launch-matrix*) - ) - (set! (-> t3-0 trans quad) (-> s2-0 quad)) - ((the-as (function object object object object object object object object none) t9-3) - a0-26 - a1-6 - a2-6 - a3-1 - t0-0 - t1-0 - t2-0 - t3-0 - ) - ) - (-> s3-1 ppointer) - ) - ) + (part-tracker-spawn :to *entity-pool* :group group-part-water-splash :mat-joint s2-0) (sound-play "splash-out") ) ) 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 21c3e5f04e..d12bf9be8e 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 @@ -1055,36 +1055,7 @@ :virtual #t :enter (behavior () (call-parent-state-handler enter) - (let ((gp-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-0 - (let ((t9-3 (method-of-type part-tracker activate))) - (t9-3 (the-as part-tracker gp-0) self (symbol->string (-> part-tracker symbol)) (the-as pointer #x70004000)) - ) - (let ((t9-4 run-function-in-process) - (a0-3 gp-0) - (a1-3 part-tracker-init) - (a2-4 (-> *part-group-id-table* 159)) - (a3-1 0) - (t0-0 #f) - (t1-0 #f) - (t2-0 #f) - (t3-0 *launch-matrix*) - ) - (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 - a2-4 - a3-1 - t0-0 - t1-0 - t2-0 - t3-0 - ) - ) - (-> gp-0 ppointer) - ) - ) + (part-tracker-spawn :to self :group group-crimson-guard-hover-jet-explosion :mat-joint (-> self root trans)) ) :code (behavior () (ja-channel-push! 1 (seconds 0.2)) @@ -1114,36 +1085,7 @@ :enter (behavior () (call-parent-state-handler enter) (sound-play "hover-explode") - (let ((gp-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-1 - (let ((t9-5 (method-of-type part-tracker activate))) - (t9-5 (the-as part-tracker gp-1) self (symbol->string (-> part-tracker symbol)) (the-as pointer #x70004000)) - ) - (let ((t9-6 run-function-in-process) - (a0-5 gp-1) - (a1-4 part-tracker-init) - (a2-5 (-> *part-group-id-table* 158)) - (a3-2 0) - (t0-1 #f) - (t1-1 #f) - (t2-1 #f) - (t3-0 *launch-matrix*) - ) - (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 - a2-5 - a3-2 - t0-1 - t1-1 - t2-1 - t3-0 - ) - ) - (-> gp-1 ppointer) - ) - ) + (part-tracker-spawn :to self :group group-crimson-guard-hover-explosion :mat-joint (-> self root trans)) (let ((gp-2 (new 'stack 'joint-exploder-tuning (the-as uint 0)))) (process-spawn joint-exploder @@ -1875,8 +1817,8 @@ (set! (-> this path) (new 'process 'path-control this 'intro 0.0 (-> this entity) #f)) (set! (-> this path-u) 0.0) (logior! (-> this path flags) (path-control-flag display draw-line draw-point draw-text)) - (set! (-> this smoke-part) (create-launch-control (-> *part-group-id-table* 154) this)) - (set! (-> this engine-part) (create-launch-control (-> *part-group-id-table* 156) this)) + (set! (-> this smoke-part) (create-launch-control group-wasp-gun-smoke this)) + (set! (-> this engine-part) (create-launch-control group-wasp-engine this)) (add-connection *part-engine* this 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 113d9d9c6e..c251f0f50e 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 @@ -1061,36 +1061,7 @@ :to self ) ) - (let ((gp-2 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-2 - (let ((t9-10 (method-of-type part-tracker activate))) - (t9-10 (the-as part-tracker gp-2) self (symbol->string (-> part-tracker symbol)) (the-as pointer #x70004000)) - ) - (let ((t9-11 run-function-in-process) - (a0-12 gp-2) - (a1-8 part-tracker-init) - (a2-12 (-> *part-group-id-table* 157)) - (a3-4 0) - (t0-2 #f) - (t1-2 #f) - (t2-1 #f) - (t3-0 *launch-matrix*) - ) - (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 - a2-12 - a3-4 - t0-2 - t1-2 - t2-1 - t3-0 - ) - ) - (-> gp-2 ppointer) - ) - ) + (part-tracker-spawn :to self :group group-wasp-explosion :mat-joint (-> self root trans)) (while (-> self child) (suspend) ) @@ -1604,8 +1575,8 @@ (set! (-> this path) (new 'process 'path-control this 'intro 0.0 (-> this entity) #f)) (set! (-> this path-u) 0.0) (logior! (-> this path flags) (path-control-flag display draw-line draw-point draw-text)) - (set! (-> this smoke-part) (create-launch-control (-> *part-group-id-table* 154) this)) - (set! (-> this engine-part) (create-launch-control (-> *part-group-id-table* 156) this)) + (set! (-> this smoke-part) (create-launch-control group-wasp-gun-smoke this)) + (set! (-> this engine-part) (create-launch-control group-wasp-engine this)) (add-connection *part-engine* this 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 054964f645..af4067ec0b 100644 --- a/test/decompiler/reference/jak2/levels/common/entities/spydroid_REF.gc +++ b/test/decompiler/reference/jak2/levels/common/entities/spydroid_REF.gc @@ -1445,8 +1445,8 @@ 0 (set-gravity-length (-> this root dynam) 573440.0) (logior! (-> this nav flags) (nav-control-flag momentum-ignore-heading)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 709) this)) - (set! (-> this explode-part) (create-launch-control (-> *part-group-id-table* 710) this)) + (set! (-> this part) (create-launch-control group-spydroid-trail this)) + (set! (-> this explode-part) (create-launch-control group-spydroid-explode this)) (add-connection *part-engine* this 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 642a5299c4..f83d0cca7b 100644 --- a/test/decompiler/reference/jak2/levels/common/guard-projectile_REF.gc +++ b/test/decompiler/reference/jak2/levels/common/guard-projectile_REF.gc @@ -446,82 +446,10 @@ ) (set! (-> gp-0 quad) (-> s4-0 trans quad)) (vector+! gp-0 gp-0 v1-1) - (cond - ((-> this hit-actor?) - (let ((s5-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-1 - (let ((t9-2 (method-of-type part-tracker activate))) - (t9-2 - (the-as part-tracker s5-1) - *entity-pool* - (symbol->string (-> part-tracker symbol)) - (the-as pointer #x70004000) - ) - ) - (let ((t9-3 run-function-in-process) - (a0-8 s5-1) - (a1-6 part-tracker-init) - (a2-4 (-> *part-group-id-table* 136)) - (a3-1 0) - (t0-0 #f) - (t1-0 #f) - (t2-0 #f) - (t3-0 *launch-matrix*) - ) - (set! (-> t3-0 trans quad) (-> gp-0 quad)) - ((the-as (function object object object object object object object object none) t9-3) - a0-8 - a1-6 - a2-4 - a3-1 - t0-0 - t1-0 - t2-0 - t3-0 - ) - ) - (-> s5-1 ppointer) - ) - ) - ) - (else - (let ((s5-2 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-2 - (let ((t9-5 (method-of-type part-tracker activate))) - (t9-5 - (the-as part-tracker s5-2) - *entity-pool* - (symbol->string (-> part-tracker symbol)) - (the-as pointer #x70004000) - ) - ) - (let ((t9-6 run-function-in-process) - (a0-11 s5-2) - (a1-9 part-tracker-init) - (a2-9 (-> *part-group-id-table* 137)) - (a3-3 0) - (t0-1 #f) - (t1-1 #f) - (t2-1 #f) - (t3-1 *launch-matrix*) - ) - (set! (-> t3-1 trans quad) (-> gp-0 quad)) - ((the-as (function object object object object object object object object none) t9-6) - a0-11 - a1-9 - a2-9 - a3-3 - t0-1 - t1-1 - t2-1 - t3-1 - ) - ) - (-> s5-2 ppointer) - ) - ) + (if (-> this hit-actor?) + (part-tracker-spawn :to *entity-pool* :group group-guard-shot-hit-object :mat-joint gp-0) + (part-tracker-spawn :to *entity-pool* :group group-guard-shot-hit :mat-joint gp-0) ) - ) ) 0 (none) @@ -783,7 +711,7 @@ (let ((t9-2 (method-of-type projectile-bounce init-proj-settings!))) (t9-2 this) ) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 138) this)) + (set! (-> this part) (create-launch-control group-guard-grenade this)) (set! (-> this blast-radius) 16384.0) (set! (-> this max-speed) 90112.0) (set! (-> this timeout) (seconds 4)) @@ -847,7 +775,7 @@ (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 group) group-gun-dark-shot-hit) (set! (-> gp-0 collide-with) (collide-spec backgnd jak crate civilian enemy obstacle vehicle-sphere hit-by-others-list player-list pusher) ) 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 a7f84327eb..6f60b091ea 100644 --- a/test/decompiler/reference/jak2/levels/common/metalhead-projectile_REF.gc +++ b/test/decompiler/reference/jak2/levels/common/metalhead-projectile_REF.gc @@ -430,41 +430,7 @@ ) (set! (-> gp-0 quad) (-> s5-0 trans quad)) (vector+! gp-0 gp-0 v1-2) - (let ((s5-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-1 - (let ((t9-2 (method-of-type part-tracker activate))) - (t9-2 - (the-as part-tracker s5-1) - *entity-pool* - (symbol->string (-> part-tracker symbol)) - (the-as pointer #x70004000) - ) - ) - (let ((t9-3 run-function-in-process) - (a0-8 s5-1) - (a1-6 part-tracker-init) - (a2-4 (-> *part-group-id-table* 141)) - (a3-1 0) - (t0-0 #f) - (t1-0 #f) - (t2-0 #f) - (t3-0 *launch-matrix*) - ) - (set! (-> t3-0 trans quad) (-> gp-0 quad)) - ((the-as (function object object object object object object object object none) t9-3) - a0-8 - a1-6 - a2-4 - a3-1 - t0-0 - t1-0 - t2-0 - t3-0 - ) - ) - (-> s5-1 ppointer) - ) - ) + (part-tracker-spawn :to *entity-pool* :group group-metalhead-shot-hit :mat-joint gp-0) ) 0 (none) @@ -732,36 +698,7 @@ ;; WARN: Return type mismatch int vs none. (defmethod spawn-shell-particles ((this metalhead-grenade-shot)) "TODO - confirm" - (let ((gp-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-0 - (let ((t9-1 (method-of-type part-tracker activate))) - (t9-1 (the-as part-tracker gp-0) this (symbol->string (-> part-tracker symbol)) (the-as pointer #x70004000)) - ) - (let ((t9-2 run-function-in-process) - (a0-3 gp-0) - (a1-2 part-tracker-init) - (a2-4 (-> *part-group-id-table* 76)) - (a3-1 0) - (t0-0 #f) - (t1-0 #f) - (t2-0 #f) - (t3-0 *launch-matrix*) - ) - (set! (-> t3-0 trans quad) (-> this root trans quad)) - ((the-as (function object object object object object object object object none) t9-2) - a0-3 - a1-2 - a2-4 - a3-1 - t0-0 - t1-0 - t2-0 - t3-0 - ) - ) - (-> gp-0 ppointer) - ) - ) + (part-tracker-spawn :to this :group group-gun-dark-shot-hit :mat-joint (-> this root trans)) 0 (none) ) @@ -961,7 +898,7 @@ (let ((f0-5 1092.2667)) (quaternion-axis-angle! (-> this tumble-quat) 1.0 0.0 0.0 f0-5) ) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 143) this)) + (set! (-> this part) (create-launch-control group-metalhead-grenade-shot this)) (set! (-> this sound-id) (new-sound-id)) (none) ) diff --git a/test/decompiler/reference/jak2/levels/common/race/race-obs_REF.gc b/test/decompiler/reference/jak2/levels/common/race/race-obs_REF.gc index 9fb8485838..830f268840 100644 --- a/test/decompiler/reference/jak2/levels/common/race/race-obs_REF.gc +++ b/test/decompiler/reference/jak2/levels/common/race/race-obs_REF.gc @@ -204,7 +204,7 @@ :event race-signal-event-handler :code (behavior () (sound-play "red-light") - (process-spawn part-tracker :init part-tracker-init (-> *part-group-id-table* 194) 1500 #f #f self 5 :to self) + (process-spawn part-tracker :init part-tracker-init group-race-signal-red-light-3 1500 #f #f self 5 :to self) (ja-no-eval :group! (ja-group) :num! (seek! (ja-aframe 2.0 0)) :frame-num (ja-aframe 0.0 0)) (until (ja-done? 0) (suspend) @@ -226,7 +226,7 @@ :event race-signal-event-handler :code (behavior () (sound-play "red-light") - (process-spawn part-tracker :init part-tracker-init (-> *part-group-id-table* 195) 1500 #f #f self 7 :to self) + (process-spawn part-tracker :init part-tracker-init group-race-signal-red-light-2 1500 #f #f self 7 :to self) (ja-no-eval :group! (ja-group) :num! (seek! (ja-aframe 4.0 0)) :frame-num (ja-aframe 2.0 0)) (until (ja-done? 0) (suspend) @@ -248,7 +248,7 @@ :event race-signal-event-handler :code (behavior () (sound-play "red-light") - (process-spawn part-tracker :init part-tracker-init (-> *part-group-id-table* 196) 1500 #f #f self 9 :to self) + (process-spawn part-tracker :init part-tracker-init group-race-signal-red-light-1 1500 #f #f self 9 :to self) (ja-no-eval :group! (ja-group) :num! (seek! (ja-aframe 6.0 0)) :frame-num (ja-aframe 4.0 0)) (until (ja-done? 0) (suspend) @@ -270,17 +270,7 @@ :event race-signal-event-handler :code (behavior () (sound-play "green-light") - (process-spawn - part-tracker - :init part-tracker-init - (-> *part-group-id-table* 197) - 1500 - #f - #f - self - 10 - :to self - ) + (process-spawn part-tracker :init part-tracker-init group-race-signal-green-light 1500 #f #f self 10 :to self) (let ((v1-8 (new 'stack-no-clear 'matrix))) (vector-reset! (-> v1-8 vector 2)) (vector-reset! (-> v1-8 trans)) @@ -335,7 +325,7 @@ (suspend) (ja :num! (seek! (ja-aframe 2.0 0))) ) - (process-spawn part-tracker :init part-tracker-init (-> *part-group-id-table* 196) 600 #f #f self 5 :to self) + (process-spawn part-tracker :init part-tracker-init group-race-signal-red-light-1 600 #f #f self 5 :to self) (suspend-for (seconds 0.5) ) (ja-no-eval :group! (ja-group) :num! (seek! (ja-aframe 4.0 0)) :frame-num (ja-aframe 2.0 0)) @@ -343,7 +333,7 @@ (suspend) (ja :num! (seek! (ja-aframe 4.0 0))) ) - (process-spawn part-tracker :init part-tracker-init (-> *part-group-id-table* 195) 300 #f #f self 7 :to self) + (process-spawn part-tracker :init part-tracker-init group-race-signal-red-light-2 300 #f #f self 7 :to self) (suspend-for (seconds 0.5) ) (ja-no-eval :group! (ja-group) :num! (seek! (ja-aframe 6.0 0)) :frame-num (ja-aframe 4.0 0)) @@ -351,10 +341,10 @@ (suspend) (ja :num! (seek! (ja-aframe 6.0 0))) ) - (process-spawn part-tracker :init part-tracker-init (-> *part-group-id-table* 194) 300 #f #f self 9 :to self) + (process-spawn part-tracker :init part-tracker-init group-race-signal-red-light-3 300 #f #f self 9 :to self) (suspend-for (seconds 0.5) ) - (process-spawn part-tracker :init part-tracker-init (-> *part-group-id-table* 197) 300 #f #f self 10 :to self) + (process-spawn part-tracker :init part-tracker-init group-race-signal-green-light 300 #f #f self 10 :to self) (suspend-for (seconds 0.5) ) ) @@ -761,41 +751,7 @@ :virtual #t :code (behavior () (set-time! (-> self state-time)) - (let ((gp-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-0 - (let ((t9-1 (method-of-type part-tracker activate))) - (t9-1 - (the-as part-tracker gp-0) - *entity-pool* - (symbol->string (-> part-tracker symbol)) - (the-as pointer #x70004000) - ) - ) - (let ((t9-2 run-function-in-process) - (a0-2 gp-0) - (a1-2 part-tracker-init) - (a2-4 (-> *part-group-id-table* 199)) - (a3-1 0) - (t0-0 #f) - (t1-0 #f) - (t2-0 #f) - (t3-0 *launch-matrix*) - ) - (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 - a2-4 - a3-1 - t0-0 - t1-0 - t2-0 - t3-0 - ) - ) - (-> gp-0 ppointer) - ) - ) + (part-tracker-spawn :to *entity-pool* :group group-turbo-pickup-explode :mat-joint (-> self root trans)) (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)) @@ -833,7 +789,7 @@ (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)) + (set! (-> self part) (create-launch-control group-turbo-pickup self)) (go-virtual idle) (none) ) 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 f87dd418dc..20b867425c 100644 --- a/test/decompiler/reference/jak2/levels/common/warp-gate_REF.gc +++ b/test/decompiler/reference/jak2/levels/common/warp-gate_REF.gc @@ -560,7 +560,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 130) + group-warpgate 0 #f #f @@ -654,7 +654,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 130) + group-warpgate 0 #f #f @@ -783,7 +783,7 @@ (set! (-> this wait-for) #f) (set! (-> this continue) #f) (set! (-> this on-close) #f) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 130) this)) + (set! (-> this part) (create-launch-control group-warpgate this)) (set! (-> this center quad) (-> this root trans quad)) (+! (-> this center y) 13516.8) (set! (-> this sound) @@ -1253,9 +1253,9 @@ ) ) ) - (set! (-> this part-exhaust-left) (create-launch-control (-> *part-group-id-table* 134) this)) - (set! (-> this part-exhaust-right) (create-launch-control (-> *part-group-id-table* 134) this)) - (set! (-> this part-dust) (create-launch-control (-> *part-group-id-table* 132) this)) + (set! (-> this part-exhaust-left) (create-launch-control group-airtrain-thruster-off this)) + (set! (-> this part-exhaust-right) (create-launch-control group-airtrain-thruster-off this)) + (set! (-> this part-dust) (create-launch-control group-airtrain-dust-hover this)) (set! (-> this root pause-adjust-distance) 368640.0) (set! (-> this hover-sound) (sound-play "air-train")) (none) diff --git a/test/decompiler/reference/jak2/levels/consite/consite-scenes_REF.gc b/test/decompiler/reference/jak2/levels/consite/consite-scenes_REF.gc index 4d52eee08e..b4721b56a2 100644 --- a/test/decompiler/reference/jak2/levels/consite/consite-scenes_REF.gc +++ b/test/decompiler/reference/jak2/levels/consite/consite-scenes_REF.gc @@ -690,41 +690,7 @@ ) (set! (-> gp-0 quad) (-> arg1 quad)) (vector+! gp-0 gp-0 v0-0) - (let ((s4-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when s4-0 - (let ((t9-2 (method-of-type part-tracker activate))) - (t9-2 - (the-as part-tracker s4-0) - *entity-pool* - (symbol->string (-> part-tracker symbol)) - (the-as pointer #x70004000) - ) - ) - (let ((t9-3 run-function-in-process) - (a0-7 s4-0) - (a1-6 part-tracker-init) - (a2-5 (-> *part-group-id-table* 141)) - (a3-1 0) - (t0-0 #f) - (t1-0 #f) - (t2-0 #f) - (t3-0 *launch-matrix*) - ) - (set! (-> t3-0 trans quad) (-> gp-0 quad)) - ((the-as (function object object object object object object object object none) t9-3) - a0-7 - a1-6 - a2-5 - a3-1 - t0-0 - t1-0 - t2-0 - t3-0 - ) - ) - (-> s4-0 ppointer) - ) - ) + (part-tracker-spawn :to *entity-pool* :group group-metalhead-shot-hit :mat-joint gp-0) ) (let ((s4-1 (new 'stack-no-clear 'vector))) (set! (-> s4-1 quad) (-> arg1 quad)) diff --git a/test/decompiler/reference/jak2/levels/dig/dig-digger_REF.gc b/test/decompiler/reference/jak2/levels/dig/dig-digger_REF.gc index fcc1db7812..e4392393d0 100644 --- a/test/decompiler/reference/jak2/levels/dig/dig-digger_REF.gc +++ b/test/decompiler/reference/jak2/levels/dig/dig-digger_REF.gc @@ -750,7 +750,7 @@ (the-as pair 0) ) (set! (-> this draw light-index) (the-as uint 1)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 1142) this)) + (set! (-> this part) (create-launch-control group-dig-clasp-break this)) (set! (-> this b) #f) (set! (-> this conn) (add-icon! *minimap* this (the-as uint 16) (the-as int #f) (the-as vector #t) 0)) (if (and (-> this entity) (logtest? (-> this entity extra perm status) (entity-perm-status subtask-complete))) @@ -811,7 +811,7 @@ (the-as pair 0) ) (set! (-> this draw light-index) (the-as uint 1)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 1142) this)) + (set! (-> this part) (create-launch-control group-dig-clasp-break this)) (set! (-> this b) (the-as basic #t)) (set! (-> this conn) (add-icon! *minimap* this (the-as uint 16) (the-as int #f) (the-as vector #t) 0)) (if (and (-> this entity) (logtest? (-> this entity extra perm status) (entity-perm-status subtask-complete))) @@ -1780,8 +1780,8 @@ ) ) (set! (-> this start-y) (-> this root trans y)) - (set! (-> this smoke-part) (create-launch-control (-> *part-group-id-table* 1143) this)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 1144) this)) + (set! (-> this smoke-part) (create-launch-control group-dig-digger-smoke this)) + (set! (-> this part) (create-launch-control group-dig-digger-digging this)) (set! (-> this motor-sound) (new 'static 'sound-id)) (set! (-> this bit-sound) (new 'static 'sound-id)) (set! (-> this movie-handle) (the-as handle #f)) 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 93a54a289b..3cfd05bad0 100644 --- a/test/decompiler/reference/jak2/levels/dig/dig-obs_REF.gc +++ b/test/decompiler/reference/jak2/levels/dig/dig-obs_REF.gc @@ -795,7 +795,7 @@ (dig-log-method-22 this #t) ) ) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 1145) this)) + (set! (-> this part) (create-launch-control group-dig-log this)) (set! (-> this event-hook) dig-log-event-handler) (go (method-of-object this idle)) (none) 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 eec34c555b..7f85468243 100644 --- a/test/decompiler/reference/jak2/levels/dig/dig1-obs_REF.gc +++ b/test/decompiler/reference/jak2/levels/dig/dig1-obs_REF.gc @@ -572,7 +572,7 @@ (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 group) group-dig-cylinder-hit) (set! (-> gp-1 collide-with) (collide-spec backgnd jak crate civilian enemy obstacle vehicle-sphere hit-by-others-list player-list pusher) ) @@ -1091,42 +1091,8 @@ :virtual #t :code (behavior () (sound-play "dig-air-lifter") - (let ((s5-1 (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node dig-jump-pad-lod0-jg main))) - (gp-1 (get-process *default-dead-pool* part-tracker #x4000)) - ) - (when gp-1 - (let ((t9-4 (method-of-type part-tracker activate))) - (t9-4 - (the-as part-tracker gp-1) - *entity-pool* - (symbol->string (-> part-tracker symbol)) - (the-as pointer #x70004000) - ) - ) - (let ((t9-5 run-function-in-process) - (a0-5 gp-1) - (a1-4 part-tracker-init) - (a2-5 (-> *part-group-id-table* 1147)) - (a3-2 0) - (t0-1 #f) - (t1-1 #f) - (t2-1 #f) - (t3-0 *launch-matrix*) - ) - (set! (-> t3-0 trans quad) (-> s5-1 quad)) - ((the-as (function object object object object object object object object none) t9-5) - a0-5 - a1-4 - a2-5 - a3-2 - t0-1 - t1-1 - t2-1 - t3-0 - ) - ) - (-> gp-1 ppointer) - ) + (let ((s5-1 (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node dig-jump-pad-lod0-jg main)))) + (part-tracker-spawn :to *entity-pool* :group group-dig-jump-pad-launcher :mat-joint s5-1) ) (let ((t9-6 (-> (method-of-type bouncer fire) code))) (if t9-6 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 0f73244bd5..c507b86564 100644 --- a/test/decompiler/reference/jak2/levels/dig/dig3-obs_REF.gc +++ b/test/decompiler/reference/jak2/levels/dig/dig3-obs_REF.gc @@ -552,78 +552,18 @@ (vector-float*! (-> a0-1 transv) (-> a0-1 transv) 0.9) (cond ((< (-> this root trans y) (-> this 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))) - (t9-1 - (the-as part-tracker s4-0) - *entity-pool* - (symbol->string (-> part-tracker symbol)) - (the-as pointer #x70004000) - ) - ) - (let ((t9-2 run-function-in-process) - (a0-5 s4-0) - (a1-3 part-tracker-init) - (a2-4 (-> *part-group-id-table* 1149)) - (a3-1 0) - (t0-0 #f) - (t1-0 #f) - (t2-0 #f) - (t3-0 *launch-matrix*) - ) - (set! (-> t3-0 trans quad) (-> this root grount-touch-point quad)) - ((the-as (function object object object object object object object object none) t9-2) - a0-5 - a1-3 - a2-4 - a3-1 - t0-0 - t1-0 - t2-0 - t3-0 - ) - ) - (-> s4-0 ppointer) - ) + (part-tracker-spawn + :to *entity-pool* + :group group-dig-spikey-sphere-break + :mat-joint (-> this root grount-touch-point) ) (go (method-of-object this die)) ) (else - (let ((s4-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when s4-1 - (let ((t9-5 (method-of-type part-tracker activate))) - (t9-5 - (the-as part-tracker s4-1) - *entity-pool* - (symbol->string (-> part-tracker symbol)) - (the-as pointer #x70004000) - ) - ) - (let ((t9-6 run-function-in-process) - (a0-8 s4-1) - (a1-6 part-tracker-init) - (a2-9 (-> *part-group-id-table* 1148)) - (a3-3 0) - (t0-1 #f) - (t1-1 #f) - (t2-1 #f) - (t3-1 *launch-matrix*) - ) - (set! (-> t3-1 trans quad) (-> this root grount-touch-point quad)) - ((the-as (function object object object object object object object object none) t9-6) - a0-8 - a1-6 - a2-9 - a3-3 - t0-1 - t1-1 - t2-1 - t3-1 - ) - ) - (-> s4-1 ppointer) - ) + (part-tracker-spawn + :to *entity-pool* + :group group-dig-spikey-sphere-bounce + :mat-joint (-> this root grount-touch-point) ) ) ) diff --git a/test/decompiler/reference/jak2/levels/drill/drill-baron_REF.gc b/test/decompiler/reference/jak2/levels/drill/drill-baron_REF.gc index ebd0a797d2..ae694483f6 100644 --- a/test/decompiler/reference/jak2/levels/drill/drill-baron_REF.gc +++ b/test/decompiler/reference/jak2/levels/drill/drill-baron_REF.gc @@ -1032,11 +1032,11 @@ (set! (-> self error-y-angle) 0.0) (set! (-> self error-y-angle-dest) 0.0) (set! (-> self hit-count) 0) - (process-spawn part-tracker :init part-tracker-init (-> *part-group-id-table* 461) -1 #f #f self 4 :to self) - (process-spawn part-tracker :init part-tracker-init (-> *part-group-id-table* 462) -1 #f #f self 5 :to self) - (process-spawn part-tracker :init part-tracker-init (-> *part-group-id-table* 463) -1 #f #f self 6 :to self) - (process-spawn part-tracker :init part-tracker-init (-> *part-group-id-table* 464) -1 #f #f self 7 :to self) - (process-spawn part-tracker :init part-tracker-init (-> *part-group-id-table* 465) -1 #f #f self 8 :to self) + (process-spawn part-tracker :init part-tracker-init group-barons-ship-light1 -1 #f #f self 4 :to self) + (process-spawn part-tracker :init part-tracker-init group-barons-ship-light2 -1 #f #f self 5 :to self) + (process-spawn part-tracker :init part-tracker-init group-barons-ship-light3 -1 #f #f self 6 :to self) + (process-spawn part-tracker :init part-tracker-init group-barons-ship-light4 -1 #f #f self 7 :to self) + (process-spawn part-tracker :init part-tracker-init group-barons-ship-light5 -1 #f #f self 8 :to self) (cond ((= (-> self info mesh) 1) (initialize-skeleton @@ -1643,92 +1643,22 @@ :enter (behavior () (cond ((>= (-> (the-as drill-barons-ship (-> self parent 0)) pass) 2) - (when (zero? (-> self info mesh)) - (let ((gp-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-0 - (let ((t9-1 (method-of-type part-tracker activate))) - (t9-1 - (the-as part-tracker gp-0) - *entity-pool* - (symbol->string (-> part-tracker symbol)) - (the-as pointer #x70004000) - ) - ) - (let ((t9-2 run-function-in-process) - (a0-2 gp-0) - (a1-2 part-tracker-init) - (a2-4 (-> *part-group-id-table* 469)) - (a3-1 0) - (t0-0 #f) - (t1-0 #f) - (t2-0 #f) - (t3-0 *launch-matrix*) - ) - (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 - a2-4 - a3-1 - t0-0 - t1-0 - t2-0 - t3-0 - ) - ) - (-> gp-0 ppointer) + (if (zero? (-> self info mesh)) + (part-tracker-spawn + :to *entity-pool* + :group group-drill-barons-ship-explosion + :mat-joint (-> self root trans) ) ) - ) ) ((zero? (-> self info mesh)) - (process-spawn - part-tracker - :init part-tracker-init - (-> *part-group-id-table* 466) - 0 - #f - #f - self - 3 - :to *entity-pool* - ) + (process-spawn part-tracker :init part-tracker-init group-turret-smoke-trail 0 #f #f self 3 :to *entity-pool*) ) (else - (let ((gp-2 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-2 - (let ((t9-7 (method-of-type part-tracker activate))) - (t9-7 - (the-as part-tracker gp-2) - *entity-pool* - (symbol->string (-> part-tracker symbol)) - (the-as pointer #x70004000) - ) - ) - (let ((t9-8 run-function-in-process) - (a0-8 gp-2) - (a1-8 part-tracker-init) - (a2-14 (-> *part-group-id-table* 469)) - (a3-5 0) - (t0-2 #f) - (t1-2 #f) - (t2-2 #f) - (t3-2 *launch-matrix*) - ) - (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 - a2-14 - a3-5 - t0-2 - t1-2 - t2-2 - t3-2 - ) - ) - (-> gp-2 ppointer) - ) + (part-tracker-spawn + :to *entity-pool* + :group group-drill-barons-ship-explosion + :mat-joint (-> self root trans) ) ) ) @@ -1803,55 +1733,21 @@ (let ((gp-1 (new 'stack-no-clear 'vector))) (set! (-> gp-1 quad) (-> self root trans quad)) (+! (-> gp-1 z) 81920.0) - (let ((s5-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-1 - (let ((t9-3 (method-of-type part-tracker activate))) - (t9-3 - (the-as part-tracker s5-1) - *entity-pool* - (symbol->string (-> part-tracker symbol)) - (the-as pointer #x70004000) - ) - ) - (let ((t9-4 run-function-in-process) - (a0-7 s5-1) - (a1-4 part-tracker-init) - (a2-6 (-> *part-group-id-table* 469)) - (a3-3 0) - (t0-1 #f) - (t1-1 #f) - (t2-1 #f) - (t3-0 *launch-matrix*) - ) - (set! (-> t3-0 trans quad) (-> gp-1 quad)) - ((the-as (function object object object object object object object object none) t9-4) - a0-7 - a1-4 - a2-6 - a3-3 - t0-1 - t1-1 - t2-1 - t3-0 - ) - ) - (-> s5-1 ppointer) - ) - ) + (part-tracker-spawn :to *entity-pool* :group group-drill-barons-ship-explosion :mat-joint gp-1) ) (sound-play "shp-turret-xplo") (cond ((= (-> self info mesh) 1) (setup-masks (-> self draw) 0 1) - (process-spawn part-tracker :init part-tracker-init (-> *part-group-id-table* 468) 0 #f #f self 3 :to self) + (process-spawn part-tracker :init part-tracker-init group-turret-smoke-trail-side 0 #f #f self 3 :to self) ) ((= (-> self info mesh) 2) (setup-masks (-> self draw) 0 1) - (process-spawn part-tracker :init part-tracker-init (-> *part-group-id-table* 467) 0 #f #f self 3 :to self) + (process-spawn part-tracker :init part-tracker-init group-turret-smoke-trail-down 0 #f #f self 3 :to self) ) (else (setup-masks (-> self draw) 0 1) - (process-spawn part-tracker :init part-tracker-init (-> *part-group-id-table* 466) 0 #f #f self 3 :to self) + (process-spawn part-tracker :init part-tracker-init group-turret-smoke-trail 0 #f #f self 3 :to self) ) ) (sound-play "ship-veer") @@ -1881,7 +1777,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 460) + group-turret-warning-side 0 #f #f @@ -1894,7 +1790,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 459) + group-turret-warning-down 0 #f #f @@ -1904,17 +1800,7 @@ ) ) (else - (process-spawn - part-tracker - :init part-tracker-init - (-> *part-group-id-table* 458) - 0 - #f - #f - self - 3 - :to *entity-pool* - ) + (process-spawn part-tracker :init part-tracker-init group-turret-warning 0 #f #f self 3 :to *entity-pool*) ) ) (if (zero? (-> self info mesh)) diff --git a/test/decompiler/reference/jak2/levels/drill/drill-mech-master_REF.gc b/test/decompiler/reference/jak2/levels/drill/drill-mech-master_REF.gc index 7517256182..39bc185a89 100644 --- a/test/decompiler/reference/jak2/levels/drill/drill-mech-master_REF.gc +++ b/test/decompiler/reference/jak2/levels/drill/drill-mech-master_REF.gc @@ -366,7 +366,7 @@ (set! (-> self alarm-sound-id) (new 'static 'sound-id)) (set! (-> self explosion-sound-id) (new 'static 'sound-id)) (set! (-> self total-countdown-time) (seconds 95)) - (set! (-> self part-doom) (create-launch-control (-> *part-group-id-table* 443) self)) + (set! (-> self part-doom) (create-launch-control group-drill-engulfing-death self)) (dotimes (gp-0 (-> *level* length)) (let ((v1-9 (-> *level* level gp-0))) (when (= (-> v1-9 status) 'active) diff --git a/test/decompiler/reference/jak2/levels/drill/drill-obs2_REF.gc b/test/decompiler/reference/jak2/levels/drill/drill-obs2_REF.gc index d3708a87be..1975bed013 100644 --- a/test/decompiler/reference/jak2/levels/drill/drill-obs2_REF.gc +++ b/test/decompiler/reference/jak2/levels/drill/drill-obs2_REF.gc @@ -851,41 +851,7 @@ (let ((gp-1 (new 'stack-no-clear 'vector))) (set! (-> gp-1 quad) (-> self root trans quad)) (+! (-> gp-1 y) 8192.0) - (let ((s5-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-1 - (let ((t9-3 (method-of-type part-tracker activate))) - (t9-3 - (the-as part-tracker s5-1) - *entity-pool* - (symbol->string (-> part-tracker symbol)) - (the-as pointer #x70004000) - ) - ) - (let ((t9-4 run-function-in-process) - (a0-9 s5-1) - (a1-3 part-tracker-init) - (a2-5 (-> *part-group-id-table* 420)) - (a3-2 0) - (t0-1 #f) - (t1-1 #f) - (t2-1 #f) - (t3-0 *launch-matrix*) - ) - (set! (-> t3-0 trans quad) (-> gp-1 quad)) - ((the-as (function object object object object object object object object none) t9-4) - a0-9 - a1-3 - a2-5 - a3-2 - t0-1 - t1-1 - t2-1 - t3-0 - ) - ) - (-> s5-1 ppointer) - ) - ) + (part-tracker-spawn :to *entity-pool* :group group-drill-metalhead-egg-explode :mat-joint gp-1) ) (suspend-for (seconds 0.5) ) @@ -1264,36 +1230,7 @@ (set! (-> self draw force-lod) 0) (set! (-> self draw bounds w) 573440.0) (when (not arg0) - (let ((gp-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-1 - (let ((t9-3 (method-of-type part-tracker activate))) - (t9-3 (the-as part-tracker gp-1) self (symbol->string (-> part-tracker symbol)) (the-as pointer #x70004000)) - ) - (let ((t9-4 run-function-in-process) - (a0-11 gp-1) - (a1-7 part-tracker-init) - (a2-5 (-> *part-group-id-table* 444)) - (a3-2 0) - (t0-1 #f) - (t1-1 #f) - (t2-1 #f) - (t3-0 *launch-matrix*) - ) - (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 - a2-5 - a3-2 - t0-1 - t1-1 - t2-1 - t3-0 - ) - ) - (-> gp-1 ppointer) - ) - ) + (part-tracker-spawn :to self :group group-drill-bridge-explode :mat-joint (-> self root trans)) (ja-no-eval :group! drill-bridge-shot-break-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) diff --git a/test/decompiler/reference/jak2/levels/drill/drill-obs_REF.gc b/test/decompiler/reference/jak2/levels/drill/drill-obs_REF.gc index fda5379366..f50b24086e 100644 --- a/test/decompiler/reference/jak2/levels/drill/drill-obs_REF.gc +++ b/test/decompiler/reference/jak2/levels/drill/drill-obs_REF.gc @@ -902,8 +902,8 @@ ;; WARN: Return type mismatch int vs none. (defmethod set-part ((this fire-floor)) "Set the particle launch controls for the on/off states." - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 399) this)) - (set! (-> this part-off) (create-launch-control (-> *part-group-id-table* 398) this)) + (set! (-> this part) (create-launch-control group-drill-fire-floor-dust this)) + (set! (-> this part-off) (create-launch-control group-drill-fire-floor-heat this)) 0 (none) ) @@ -1052,8 +1052,8 @@ ;; WARN: Return type mismatch int vs none. (defmethod set-part ((this fire-floor-a)) "Set the particle launch controls for the on/off states." - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 401) this)) - (set! (-> this part-off) (create-launch-control (-> *part-group-id-table* 400) this)) + (set! (-> this part) (create-launch-control group-drill-fire-floor-a-dust this)) + (set! (-> this part-off) (create-launch-control group-drill-fire-floor-a-heat this)) 0 (none) ) @@ -1447,8 +1447,8 @@ ) (logior! (-> this mask) (process-mask collectable)) (logclear! (-> this mask) (process-mask no-track)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 451) this)) - (set! (-> this green-part) (create-launch-control (-> *part-group-id-table* 452) this)) + (set! (-> this part) (create-launch-control group-drill-switch-red this)) + (set! (-> this green-part) (create-launch-control group-drill-switch-green this)) 0 (none) ) diff --git a/test/decompiler/reference/jak2/levels/drill/drill-panel_REF.gc b/test/decompiler/reference/jak2/levels/drill/drill-panel_REF.gc index 9e06090d78..5bc10380c0 100644 --- a/test/decompiler/reference/jak2/levels/drill/drill-panel_REF.gc +++ b/test/decompiler/reference/jak2/levels/drill/drill-panel_REF.gc @@ -78,7 +78,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 429) + group-drill-panel-explosion 300 #f #f @@ -90,7 +90,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 430) + group-drill-panel-explosion-2 300 #f #f @@ -102,7 +102,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 431) + group-drill-panel-steam 300 #f #f @@ -113,7 +113,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 432) + group-drill-panel-spark 300 #f #f @@ -124,7 +124,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 432) + group-drill-panel-spark 300 #f #f @@ -135,7 +135,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 432) + group-drill-panel-spark 300 #f #f @@ -146,7 +146,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 432) + group-drill-panel-spark 300 #f #f @@ -157,7 +157,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 432) + group-drill-panel-spark 300 #f #f @@ -168,7 +168,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 434) + group-drill-panel-light-big-amber 300 #f #f @@ -179,7 +179,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 434) + group-drill-panel-light-big-amber 300 #f #f @@ -190,7 +190,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 434) + group-drill-panel-light-big-amber 300 #f #f @@ -201,7 +201,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 435) + group-drill-panel-light-blue 300 #f #f @@ -212,7 +212,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 435) + group-drill-panel-light-blue 300 #f #f @@ -223,7 +223,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 435) + group-drill-panel-light-blue 300 #f #f @@ -234,7 +234,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 435) + group-drill-panel-light-blue 300 #f #f @@ -245,7 +245,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 435) + group-drill-panel-light-blue 300 #f #f @@ -256,7 +256,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 433) + group-drill-panel-light-amber 300 #f #f @@ -267,7 +267,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 433) + group-drill-panel-light-amber 300 #f #f @@ -278,7 +278,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 433) + group-drill-panel-light-amber 300 #f #f @@ -289,7 +289,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 433) + group-drill-panel-light-amber 300 #f #f @@ -300,7 +300,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 433) + group-drill-panel-light-amber 300 #f #f @@ -311,7 +311,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 433) + group-drill-panel-light-amber 300 #f #f @@ -322,7 +322,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 433) + group-drill-panel-light-amber 300 #f #f @@ -339,7 +339,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 429) + group-drill-panel-explosion 300 #f #f @@ -350,7 +350,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 431) + group-drill-panel-steam 300 #f #f @@ -361,7 +361,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 432) + group-drill-panel-spark 300 #f #f @@ -372,7 +372,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 432) + group-drill-panel-spark 300 #f #f @@ -383,7 +383,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 432) + group-drill-panel-spark 300 #f #f @@ -394,7 +394,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 432) + group-drill-panel-spark 300 #f #f @@ -405,7 +405,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 432) + group-drill-panel-spark 300 #f #f @@ -416,7 +416,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 434) + group-drill-panel-light-big-amber 300 #f #f @@ -427,7 +427,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 434) + group-drill-panel-light-big-amber 300 #f #f @@ -438,7 +438,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 435) + group-drill-panel-light-blue 300 #f #f @@ -449,7 +449,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 435) + group-drill-panel-light-blue 300 #f #f @@ -460,7 +460,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 435) + group-drill-panel-light-blue 300 #f #f @@ -471,7 +471,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 435) + group-drill-panel-light-blue 300 #f #f @@ -482,7 +482,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 433) + group-drill-panel-light-amber 300 #f #f @@ -493,7 +493,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 433) + group-drill-panel-light-amber 300 #f #f @@ -504,7 +504,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 433) + group-drill-panel-light-amber 300 #f #f @@ -757,10 +757,10 @@ ) (init-panel this) (transform-post) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 427) this)) + (set! (-> this part) (create-launch-control group-drill-control-panel this)) (if (zero? (-> this id)) - (set! (-> this debris-part) (create-launch-control (-> *part-group-id-table* 436) this)) - (set! (-> this debris-part) (create-launch-control (-> *part-group-id-table* 437) this)) + (set! (-> this debris-part) (create-launch-control group-drill-control-panel-debris-1 this)) + (set! (-> this debris-part) (create-launch-control group-drill-control-panel-debris-2 this)) ) (if (task-node-closed? (game-task-node drill-mech-smash-consoles)) (process-entity-status! this (entity-perm-status bit-12) #t) @@ -813,19 +813,19 @@ (init-panel this) (set! (-> this draw force-lod) 1) (transform-post) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 428) this)) + (set! (-> this part) (create-launch-control group-drill-control-panel-a this)) (case (-> this id) ((3 6 8) - (set! (-> this debris-part) (create-launch-control (-> *part-group-id-table* 438) this)) + (set! (-> this debris-part) (create-launch-control group-drill-control-panel-ab-debris-1 this)) ) ((5 9) - (set! (-> this debris-part) (create-launch-control (-> *part-group-id-table* 440) this)) + (set! (-> this debris-part) (create-launch-control group-drill-control-panel-ab-debris-3 this)) ) ((7) - (set! (-> this debris-part) (create-launch-control (-> *part-group-id-table* 441) this)) + (set! (-> this debris-part) (create-launch-control group-drill-control-panel-ab-debris-4 this)) ) (else - (set! (-> this debris-part) (create-launch-control (-> *part-group-id-table* 439) this)) + (set! (-> this debris-part) (create-launch-control group-drill-control-panel-ab-debris-2 this)) ) ) (if (task-node-closed? (game-task-node drill-mech-smash-consoles)) diff --git a/test/decompiler/reference/jak2/levels/drill/ginsu_REF.gc b/test/decompiler/reference/jak2/levels/drill/ginsu_REF.gc index 06d27de1ef..c73e7af729 100644 --- a/test/decompiler/reference/jak2/levels/drill/ginsu_REF.gc +++ b/test/decompiler/reference/jak2/levels/drill/ginsu_REF.gc @@ -1144,8 +1144,8 @@ (ginsu-method-183 this #f) (set! (-> this blade-jm) (new 'process 'joint-mod (joint-mod-mode joint-set*) this 8)) (init (-> this blade-speed) 1.0 0.01 0.1 0.9) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 475) this)) - (set! (-> this blade-part) (create-launch-control (-> *part-group-id-table* 476) this)) + (set! (-> this part) (create-launch-control group-ginsu-sparks this)) + (set! (-> this blade-part) (create-launch-control group-ginsu-blade this)) (set! (-> this ambush-path) (new 'process 'curve-control this 'intro -1000000000.0)) (set! (-> this ambush-started) #f) (set! (-> this path-pos) 0.0) 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 91e20c2a89..5a361f3cdb 100644 --- a/test/decompiler/reference/jak2/levels/forest/forest-obs_REF.gc +++ b/test/decompiler/reference/jak2/levels/forest/forest-obs_REF.gc @@ -493,7 +493,7 @@ (set! (-> this focus-disable-timer) (the-as uint 0)) (set! (-> this hud) (ppointer->handle (process-spawn hud-samos-young :init hud-init-by-other :to this))) (set! (-> this sound-id) (new-sound-id)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 494) this)) + (set! (-> this part) (create-launch-control group-youngsamos-float this)) (go (method-of-object this idle)) (none) ) diff --git a/test/decompiler/reference/jak2/levels/fortress/dump/fordumpa-obs_REF.gc b/test/decompiler/reference/jak2/levels/fortress/dump/fordumpa-obs_REF.gc index 99d747a551..b93dc5c9f6 100644 --- a/test/decompiler/reference/jak2/levels/fortress/dump/fordumpa-obs_REF.gc +++ b/test/decompiler/reference/jak2/levels/fortress/dump/fordumpa-obs_REF.gc @@ -113,41 +113,7 @@ (let ((gp-0 (new 'stack-no-clear 'vector))) (set! (-> gp-0 quad) (-> self root trans quad)) (+! (-> gp-0 y) 8192.0) - (let ((s5-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-0 - (let ((t9-1 (method-of-type part-tracker activate))) - (t9-1 - (the-as part-tracker s5-0) - *entity-pool* - (symbol->string (-> part-tracker symbol)) - (the-as pointer #x70004000) - ) - ) - (let ((t9-2 run-function-in-process) - (a0-6 s5-0) - (a1-2 part-tracker-init) - (a2-4 (-> *part-group-id-table* 125)) - (a3-1 0) - (t0-0 #f) - (t1-0 #f) - (t2-0 #f) - (t3-0 *launch-matrix*) - ) - (set! (-> t3-0 trans quad) (-> gp-0 quad)) - ((the-as (function object object object object object object object object none) t9-2) - a0-6 - a1-2 - a2-4 - a3-1 - t0-0 - t1-0 - t2-0 - t3-0 - ) - ) - (-> s5-0 ppointer) - ) - ) + (part-tracker-spawn :to *entity-pool* :group group-crate-steel-explode :mat-joint gp-0) ) (sound-play "elec-switch") (suspend-for (seconds 0.5) diff --git a/test/decompiler/reference/jak2/levels/fortress/dump/fordumpa-part_REF.gc b/test/decompiler/reference/jak2/levels/fortress/dump/fordumpa-part_REF.gc index ef4eb86f9c..5b76ead421 100644 --- a/test/decompiler/reference/jak2/levels/fortress/dump/fordumpa-part_REF.gc +++ b/test/decompiler/reference/jak2/levels/fortress/dump/fordumpa-part_REF.gc @@ -1521,8 +1521,8 @@ ;; definition for method 24 of type fort-elec-gate ;; WARN: Return type mismatch int vs none. (defmethod elec-gate-method-24 ((this fort-elec-gate)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 551) this)) - (set! (-> this part-off) (create-launch-control (-> *part-group-id-table* 552) this)) + (set! (-> this part) (create-launch-control group-fordumpa-lightning-pole this)) + (set! (-> this part-off) (create-launch-control group-fordumpa-lightning-pole-off this)) 0 (none) ) diff --git a/test/decompiler/reference/jak2/levels/fortress/dump/fordumpc-obs_REF.gc b/test/decompiler/reference/jak2/levels/fortress/dump/fordumpc-obs_REF.gc index 55c51a9720..a4f03a0244 100644 --- a/test/decompiler/reference/jak2/levels/fortress/dump/fordumpc-obs_REF.gc +++ b/test/decompiler/reference/jak2/levels/fortress/dump/fordumpc-obs_REF.gc @@ -119,7 +119,7 @@ (let ((t9-4 run-function-in-process) (a0-8 s5-1) (a1-3 part-tracker-init) - (a2-5 (-> *part-group-id-table* 572)) + (a2-5 group-bomb-explosion) (a3-2 0) (t0-1 #f) (t1-1 #f) @@ -180,7 +180,7 @@ (the-as skeleton-group (art-group-get-by-name *level* "skel-fort-dump-bomb-a" (the-as (pointer uint32) #f))) (the-as pair 0) ) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 573) this)) + (set! (-> this part) (create-launch-control group-fort-dump-bomb-a-steamescape this)) (let ((a0-13 (-> this skel root-channel 0))) (set! (-> a0-13 frame-group) (the-as art-joint-anim (-> this draw art-group data 3))) (set! (-> a0-13 frame-num) 0.0) @@ -342,41 +342,7 @@ (activate! *camera-smush-control* 819.2 37 210 1.0 0.995 (-> self clock)) (sound-play "fort-target") (suspend) - (let ((gp-2 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-2 - (let ((t9-9 (method-of-type part-tracker activate))) - (t9-9 - (the-as part-tracker gp-2) - *entity-pool* - (symbol->string (-> part-tracker symbol)) - (the-as pointer #x70004000) - ) - ) - (let ((t9-10 run-function-in-process) - (a0-10 gp-2) - (a1-9 part-tracker-init) - (a2-13 (-> *part-group-id-table* 581)) - (a3-5 0) - (t0-3 #f) - (t1-3 #f) - (t2-2 #f) - (t3-0 *launch-matrix*) - ) - (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 - a2-13 - a3-5 - t0-3 - t1-3 - t2-2 - t3-0 - ) - ) - (-> gp-2 ppointer) - ) - ) + (part-tracker-spawn :to *entity-pool* :group group-missile-target-explosion :mat-joint (-> self root trans)) (suspend-for (seconds 1) ) (send-event (ppointer->process (-> self parent)) 'died) @@ -457,7 +423,7 @@ (the-as pair 0) ) (set! (-> self draw light-index) (the-as uint 17)) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 582) self)) + (set! (-> self part) (create-launch-control group-fort-missile-target-steamescape self)) (setup-masks (-> self draw) -1 0) (ja-no-eval :group! fort-missile-target-idle-ja :num! zero) (transform-post) @@ -760,7 +726,7 @@ (let ((t9-4 run-function-in-process) (a0-8 s5-0) (a1-2 part-tracker-init) - (a2-4 (-> *part-group-id-table* 125)) + (a2-4 group-crate-steel-explode) (a3-1 0) (t0-0 #f) (t1-0 #f) @@ -998,7 +964,7 @@ ) (set! (-> this bomb-count) (the-as uint 4)) (set! (-> this hud) (the-as handle #f)) - (set! (-> this part-doom) (create-launch-control (-> *part-group-id-table* 583) this)) + (set! (-> this part-doom) (create-launch-control group-fort-missile-engulfing-death this)) (set! (-> this alarm-sound-id) (new-sound-id)) (let ((a0-36 (-> this skel root-channel 0))) (set! (-> a0-36 frame-group) (the-as art-joint-anim (-> this draw art-group data 2))) diff --git a/test/decompiler/reference/jak2/levels/fortress/dump/fort-robotank_REF.gc b/test/decompiler/reference/jak2/levels/fortress/dump/fort-robotank_REF.gc index 1714699606..0a668391e9 100644 --- a/test/decompiler/reference/jak2/levels/fortress/dump/fort-robotank_REF.gc +++ b/test/decompiler/reference/jak2/levels/fortress/dump/fort-robotank_REF.gc @@ -1267,8 +1267,8 @@ ) (set-vector! (-> this pov-cam-offset 0) 0.0 13516.8 -13516.8 1.0) (set-vector! (-> this pov-cam-offset 1) 0.0 13516.8 -13516.8 1.0) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 561) this)) - (set! (-> this barrel-part) (create-launch-control (-> *part-group-id-table* 562) this)) + (set! (-> this part) (create-launch-control group-robotank-steamescape this)) + (set! (-> this barrel-part) (create-launch-control group-robotank-barrel-sparks this)) (set! (-> this sound) (new 'process 'ambient-sound (static-sound-spec "robotank-tread" :fo-max 70) (-> this root trans)) ) 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 c5e68ab322..a715e747de 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 @@ -206,7 +206,7 @@ ;; INFO: this function exists in multiple non-identical object files ;; WARN: Return type mismatch sparticle-launch-control vs none. (defmethod base-plat-method-32 ((this fort-lift-plat)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 618) this)) + (set! (-> this part) (create-launch-control group-forexita-lift-plat-glow this)) (none) ) 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 d259de5d86..a1d51b3b8a 100644 --- a/test/decompiler/reference/jak2/levels/fortress/fort-turret_REF.gc +++ b/test/decompiler/reference/jak2/levels/fortress/fort-turret_REF.gc @@ -1091,7 +1091,7 @@ ) (logclear! (-> this mask) (process-mask actor-pause)) (logclear! (-> this enemy-flags) (enemy-flag actor-pause-backup)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 685) this)) + (set! (-> this part) (create-launch-control group-fort-turret-hit this)) (set! (-> this gun-tilt-jm) (new 'process 'joint-mod (joint-mod-mode joint-set*) this 4)) (set! (-> this gun-shadow-jm) (the-as joint-mod (new 'process 'joint-mod-set-local this 10 #f #f #t))) (set! (-> this gun-shadow-jm twist-min-y) (the-as float #t)) diff --git a/test/decompiler/reference/jak2/levels/fortress/rescue/forresca-part_REF.gc b/test/decompiler/reference/jak2/levels/fortress/rescue/forresca-part_REF.gc index 97f16d1e34..f367a43a01 100644 --- a/test/decompiler/reference/jak2/levels/fortress/rescue/forresca-part_REF.gc +++ b/test/decompiler/reference/jak2/levels/fortress/rescue/forresca-part_REF.gc @@ -1556,8 +1556,8 @@ ;; definition for method 24 of type fort-elec-gate ;; WARN: Return type mismatch int vs none. (defmethod elec-gate-method-24 ((this fort-elec-gate)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 653) this)) - (set! (-> this part-off) (create-launch-control (-> *part-group-id-table* 654) this)) + (set! (-> this part) (create-launch-control group-forresca-lightning-pole this)) + (set! (-> this part-off) (create-launch-control group-forresca-lightning-pole-off this)) 0 (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 295c701bbf..3b5d863fbd 100644 --- a/test/decompiler/reference/jak2/levels/gungame/gun-dummy_REF.gc +++ b/test/decompiler/reference/jak2/levels/gungame/gun-dummy_REF.gc @@ -2514,7 +2514,7 @@ ) ) (set! (-> this info) arg0) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 519) this)) + (set! (-> this part) (create-launch-control group-gun-dummy-sparks this)) (set! (-> this next-spark) 0) 0 (none) @@ -2720,7 +2720,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 520) + group-gun-dummy-a 300 #f #f @@ -2759,7 +2759,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 521) + group-gun-dummy-b 300 #f #f @@ -2798,7 +2798,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 522) + group-gun-dummy-c 300 #f #f @@ -2837,7 +2837,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 523) + group-gun-dummy-big 300 #f #f @@ -2876,7 +2876,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 524) + group-gun-dummy-gold 300 #f #f @@ -2915,7 +2915,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 525) + group-gun-dummy-peace 300 #f #f @@ -2956,7 +2956,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 526) + group-gun-cit-a 300 #f #f @@ -2997,7 +2997,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 527) + group-gun-cit-b 300 #f #f @@ -3038,7 +3038,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 528) + group-gun-cit-c 300 #f #f @@ -3079,7 +3079,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 529) + group-gun-cit-d 300 #f #f diff --git a/test/decompiler/reference/jak2/levels/hiphog/whack_REF.gc b/test/decompiler/reference/jak2/levels/hiphog/whack_REF.gc index 8280d4692f..e6cb086151 100644 --- a/test/decompiler/reference/jak2/levels/hiphog/whack_REF.gc +++ b/test/decompiler/reference/jak2/levels/hiphog/whack_REF.gc @@ -2277,49 +2277,48 @@ (until (ja-done? 0) (when (rand-vu-percent? 0.2) (let* ((gp-2 (get-process *default-dead-pool* lightning-tracker #x4000)) - (v1-26 - (when gp-2 - (let ((t9-6 (method-of-type lightning-tracker activate))) - (t9-6 - (the-as lightning-tracker gp-2) - self - (symbol->string (-> lightning-tracker symbol)) - (the-as pointer #x70004000) - ) - ) - (let ((s5-1 run-function-in-process) - (s4-0 gp-2) - (s3-0 lightning-tracker-init) - (s2-0 (-> *lightning-spec-id-table* 21)) - (s1-0 0) - (s0-0 lightning-probe-callback) - ) - (set! sv-48 self) - (set! sv-64 vector<-cspace!) - (set! sv-80 (new 'stack-no-clear 'vector)) - (let ((a1-8 (-> self node-list data (rand-vu-int-range 3 (+ (-> self node-list length) -1))))) - (set! sv-96 (sv-64 sv-80 a1-8)) - ) - (set! sv-112 vector<-cspace!) - (set! sv-128 (new 'stack-no-clear 'vector)) - (let* ((a1-10 (-> self node-list data (rand-vu-int-range 3 (+ (-> self node-list length) -1)))) - (t3-0 (sv-112 sv-128 a1-10)) + (v1-26 (when gp-2 + (let ((t9-6 (method-of-type lightning-tracker activate))) + (t9-6 + (the-as lightning-tracker gp-2) + self + (symbol->string (-> lightning-tracker symbol)) + (the-as pointer #x70004000) ) - ((the-as (function object object object object object object object object none) s5-1) - s4-0 - s3-0 - s2-0 - s1-0 - s0-0 - sv-48 - sv-96 - t3-0 + ) + (let ((s5-1 run-function-in-process) + (s4-0 gp-2) + (s3-0 lightning-tracker-init) + (s2-0 (-> *lightning-spec-id-table* 21)) + (s1-0 0) + (s0-0 lightning-probe-callback) + ) + (set! sv-48 self) + (set! sv-64 vector<-cspace!) + (set! sv-80 (new 'stack-no-clear 'vector)) + (let ((a1-8 (-> self node-list data (rand-vu-int-range 3 (+ (-> self node-list length) -1))))) + (set! sv-96 (sv-64 sv-80 a1-8)) + ) + (set! sv-112 vector<-cspace!) + (set! sv-128 (new 'stack-no-clear 'vector)) + (let* ((a1-10 (-> self node-list data (rand-vu-int-range 3 (+ (-> self node-list length) -1)))) + (t3-0 (sv-112 sv-128 a1-10)) + ) + ((the-as (function object object object object object object object object none) s5-1) + s4-0 + s3-0 + s2-0 + s1-0 + s0-0 + sv-48 + sv-96 + t3-0 + ) + ) + ) + (-> gp-2 ppointer) ) - ) - ) - (-> gp-2 ppointer) - ) - ) + ) ) (when v1-26 (set! (-> (the-as lightning-tracker (-> v1-26 0)) user-time 0) 0) @@ -2332,17 +2331,7 @@ (suspend) (ja :num! (seek!)) ) - (process-spawn - part-tracker - :init part-tracker-init - (-> *part-group-id-table* 770) - 0 - #f - #f - self - 9 - :to *entity-pool* - ) + (process-spawn part-tracker :init part-tracker-init group-mole-dizzy 0 #f #f self 9 :to *entity-pool*) (ja-no-eval :group! daxter-highres-mole-idle-shock-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (+! (-> self event-time) (- (current-time) (-> self clock old-frame-counter))) @@ -2454,17 +2443,7 @@ (set! (-> a1-3 message) 'touch) (case (send-event-function (ppointer->process (-> self mole arg0)) a1-3) (('die) - (process-spawn - part-tracker - :init part-tracker-init - (-> *part-group-id-table* 769) - 0 - #f - #f - #f - gp-0 - :to *entity-pool* - ) + (process-spawn part-tracker :init part-tracker-init group-whack-shock 0 #f #f #f gp-0 :to *entity-pool*) (dotimes (v1-15 4) (set! (-> self slot-buffer v1-15) -1) ) @@ -2517,30 +2496,10 @@ ) ((#f) (sound-play "whack-miss") - (process-spawn - part-tracker - :init part-tracker-init - (-> *part-group-id-table* 767) - 0 - #f - #f - #f - gp-0 - :to *entity-pool* - ) + (process-spawn part-tracker :init part-tracker-init group-whack-miss 0 #f #f #f gp-0 :to *entity-pool*) ) (('gold) - (process-spawn - part-tracker - :init part-tracker-init - (-> *part-group-id-table* 768) - 0 - #f - #f - #f - gp-0 - :to *entity-pool* - ) + (process-spawn part-tracker :init part-tracker-init group-whack-hit 0 #f #f #f gp-0 :to *entity-pool*) (+! (-> self score) 50.0) ) (else @@ -2560,17 +2519,7 @@ ) (set-time! (-> self speech-time)) ) - (process-spawn - part-tracker - :init part-tracker-init - (-> *part-group-id-table* 768) - 0 - #f - #f - #f - gp-0 - :to *entity-pool* - ) + (process-spawn part-tracker :init part-tracker-init group-whack-hit 0 #f #f #f gp-0 :to *entity-pool*) (+! (-> self score) 10.0) (if (>= (-> self score) 300.0) (send-event (handle->process (-> self hud-goal)) 'hide-and-die) @@ -2772,8 +2721,8 @@ (dotimes (v1-20 4) (set! (-> self slot-buffer v1-20) -1) ) - (set! (-> self score-part 0) (create-launch-control (-> *part-group-id-table* 765) self)) - (set! (-> self score-part 1) (create-launch-control (-> *part-group-id-table* 766) self)) + (set! (-> self score-part 0) (create-launch-control group-whack-scoreboard-misses self)) + (set! (-> self score-part 1) (create-launch-control group-whack-scoreboard-points self)) (set! (-> *game-info* goal) 1500.0) (dotimes (v1-31 4) (set! (-> self speech-last v1-31) 0) diff --git a/test/decompiler/reference/jak2/levels/mountain/mountain-obs_REF.gc b/test/decompiler/reference/jak2/levels/mountain/mountain-obs_REF.gc index 61f1dea947..04f08a790a 100644 --- a/test/decompiler/reference/jak2/levels/mountain/mountain-obs_REF.gc +++ b/test/decompiler/reference/jak2/levels/mountain/mountain-obs_REF.gc @@ -2454,41 +2454,7 @@ (set! sv-52 #t) (let ((f30-0 (vector-vector-distance sv-20 s5-0))) (when (< f30-0 204800.0) - (let ((s4-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when s4-0 - (let ((t9-8 (method-of-type part-tracker activate))) - (t9-8 - (the-as part-tracker s4-0) - *entity-pool* - (symbol->string (-> part-tracker symbol)) - (the-as pointer #x70004000) - ) - ) - (let ((t9-9 run-function-in-process) - (a0-16 s4-0) - (a1-7 part-tracker-init) - (a2-7 (-> *part-group-id-table* 352)) - (a3-2 0) - (t0-1 #f) - (t1-1 #f) - (t2-1 #f) - (t3-0 *launch-matrix*) - ) - (set! (-> t3-0 trans quad) (-> s5-0 quad)) - ((the-as (function object object object object object object object object none) t9-9) - a0-16 - a1-7 - a2-7 - a3-2 - t0-1 - t1-1 - t2-1 - t3-0 - ) - ) - (-> s4-0 ppointer) - ) - ) + (part-tracker-spawn :to *entity-pool* :group group-aval-rock-hit :mat-joint s5-0) (when (= (-> sv-16 data gp-0 w) 0.0) (sound-play-by-name (static-sound-name "mtn-boulder") diff --git a/test/decompiler/reference/jak2/levels/mountain/mountain-scenes_REF.gc b/test/decompiler/reference/jak2/levels/mountain/mountain-scenes_REF.gc index 5e7c567399..3fc00c4865 100644 --- a/test/decompiler/reference/jak2/levels/mountain/mountain-scenes_REF.gc +++ b/test/decompiler/reference/jak2/levels/mountain/mountain-scenes_REF.gc @@ -3244,7 +3244,7 @@ (if (task-complete? *game-info* (game-task mountain-lens)) (go (method-of-object this idle-no-beam)) ) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 353) this)) + (set! (-> this part) (create-launch-control group-mtn-lens-light-shaft this)) (go (method-of-object this idle)) (none) ) diff --git a/test/decompiler/reference/jak2/levels/mountain/rhino_REF.gc b/test/decompiler/reference/jak2/levels/mountain/rhino_REF.gc index 5074e0b3b8..9b09c95cd2 100644 --- a/test/decompiler/reference/jak2/levels/mountain/rhino_REF.gc +++ b/test/decompiler/reference/jak2/levels/mountain/rhino_REF.gc @@ -724,7 +724,7 @@ (let ((s3-1 run-function-in-process) (s2-1 s4-1) (s1-0 part-tracker-init) - (s0-0 (-> *part-group-id-table* 351)) + (s0-0 group-rhino-slide-poof-grs) ) (set! sv-96 0) (set! sv-112 (the-as symbol #f)) @@ -759,7 +759,7 @@ (let ((s3-2 run-function-in-process) (s2-2 s4-2) (s1-1 part-tracker-init) - (s0-1 (-> *part-group-id-table* 350)) + (s0-1 group-rhino-slide-poof-pmt) ) (set! sv-192 0) (set! sv-208 (the-as symbol #f)) 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 dc52b97731..42e951411c 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 @@ -307,41 +307,7 @@ ) (set! (-> gp-0 quad) (-> s4-0 trans quad)) (vector+! gp-0 gp-0 v0-0) - (let ((s4-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when s4-1 - (let ((t9-2 (method-of-type part-tracker activate))) - (t9-2 - (the-as part-tracker s4-1) - *entity-pool* - (symbol->string (-> part-tracker symbol)) - (the-as pointer #x70004000) - ) - ) - (let ((t9-3 run-function-in-process) - (a0-7 s4-1) - (a1-5 part-tracker-init) - (a2-4 (-> *part-group-id-table* 141)) - (a3-1 0) - (t0-0 #f) - (t1-0 #f) - (t2-0 #f) - (t3-0 *launch-matrix*) - ) - (set! (-> t3-0 trans quad) (-> gp-0 quad)) - ((the-as (function object object object object object object object object none) t9-3) - a0-7 - a1-5 - a2-4 - a3-1 - t0-0 - t1-0 - t2-0 - t3-0 - ) - ) - (-> s4-1 ppointer) - ) - ) + (part-tracker-spawn :to *entity-pool* :group group-metalhead-shot-hit :mat-joint gp-0) ) (let ((s4-2 (new 'stack-no-clear 'vector))) (set! (-> s4-2 quad) (-> this root trans quad)) @@ -1722,7 +1688,7 @@ (the-as skeleton-group (art-group-get-by-name *level* "skel-rift-ring-ingame" (the-as (pointer uint32) #f))) (the-as pair 0) ) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 1236) this)) + (set! (-> this part) (create-launch-control group-nestb-rift-ring this)) (set! (-> this draw light-index) (the-as uint 10)) (set! (-> this stutter) #f) (set! (-> this spin-sound) (new-sound-id)) @@ -2270,7 +2236,7 @@ (let ((s5-0 run-function-in-process) (s4-0 gp-0) (s3-0 part-tracker-init) - (s2-0 (-> *part-group-id-table* 1238)) + (s2-0 group-metalkor-explode) (s1-0 0) (s0-0 #f) ) 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 aff16c1de3..69ce22a9bd 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 @@ -1184,7 +1184,7 @@ ) (logclear! (-> self mask) (process-mask actor-pause)) (set! (-> self ring) arg2) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 1237) self)) + (set! (-> self part) (create-launch-control group-metalkor-explode-trailer self)) (go-virtual idle) (none) ) @@ -1212,7 +1212,7 @@ ) ) (logclear! (-> self mask) (process-mask actor-pause)) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 1233) self)) + (set! (-> self part) (create-launch-control group-nestb-force-field self)) (go-virtual idle) (none) ) @@ -2028,7 +2028,7 @@ ) ) (set! (-> this current-nav-poly) #f) - (set! (-> this shot-anticipate) (create-launch-control (-> *part-group-id-table* 1232) this)) + (set! (-> this shot-anticipate) (create-launch-control group-metalkor-shot-anticipate this)) (set! (-> this last-flitter-launched) 0) (set! (-> this last-wasp-launched) 0) (set! (-> this live-flitters) 0) diff --git a/test/decompiler/reference/jak2/levels/nest/boss/nestb-scenes_REF.gc b/test/decompiler/reference/jak2/levels/nest/boss/nestb-scenes_REF.gc index f5ce296717..83a85a7b79 100644 --- a/test/decompiler/reference/jak2/levels/nest/boss/nestb-scenes_REF.gc +++ b/test/decompiler/reference/jak2/levels/nest/boss/nestb-scenes_REF.gc @@ -467,41 +467,7 @@ ) (set! (-> gp-0 quad) (-> arg1 quad)) (vector+! gp-0 gp-0 v0-0) - (let ((s4-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when s4-0 - (let ((t9-2 (method-of-type part-tracker activate))) - (t9-2 - (the-as part-tracker s4-0) - *entity-pool* - (symbol->string (-> part-tracker symbol)) - (the-as pointer #x70004000) - ) - ) - (let ((t9-3 run-function-in-process) - (a0-7 s4-0) - (a1-6 part-tracker-init) - (a2-5 (-> *part-group-id-table* 141)) - (a3-1 0) - (t0-0 #f) - (t1-0 #f) - (t2-0 #f) - (t3-0 *launch-matrix*) - ) - (set! (-> t3-0 trans quad) (-> gp-0 quad)) - ((the-as (function object object object object object object object object none) t9-3) - a0-7 - a1-6 - a2-5 - a3-1 - t0-0 - t1-0 - t2-0 - t3-0 - ) - ) - (-> s4-0 ppointer) - ) - ) + (part-tracker-spawn :to *entity-pool* :group group-metalhead-shot-hit :mat-joint gp-0) ) (let ((s4-1 (new 'stack-no-clear 'vector))) (set! (-> s4-1 quad) (-> arg1 quad)) diff --git a/test/decompiler/reference/jak2/levels/nest/mantis_REF.gc b/test/decompiler/reference/jak2/levels/nest/mantis_REF.gc index a6706205f4..e1c6e90761 100644 --- a/test/decompiler/reference/jak2/levels/nest/mantis_REF.gc +++ b/test/decompiler/reference/jak2/levels/nest/mantis_REF.gc @@ -527,41 +527,7 @@ (let ((gp-0 (new 'stack-no-clear 'vector))) (set! (-> gp-0 quad) (-> self root trans quad)) (+! (-> gp-0 y) -18841.6) - (let ((s5-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-0 - (let ((t9-1 (method-of-type part-tracker activate))) - (t9-1 - (the-as part-tracker s5-0) - *entity-pool* - (symbol->string (-> part-tracker symbol)) - (the-as pointer #x70004000) - ) - ) - (let ((t9-2 run-function-in-process) - (a0-2 s5-0) - (a1-2 part-tracker-init) - (a2-4 (-> *part-group-id-table* 1222)) - (a3-1 0) - (t0-0 #f) - (t1-0 #f) - (t2-0 #f) - (t3-0 *launch-matrix*) - ) - (set! (-> t3-0 trans quad) (-> gp-0 quad)) - ((the-as (function object object object object object object object object none) t9-2) - a0-2 - a1-2 - a2-4 - a3-1 - t0-0 - t1-0 - t2-0 - t3-0 - ) - ) - (-> s5-0 ppointer) - ) - ) + (part-tracker-spawn :to *entity-pool* :group group-mantis-birth-nest :mat-joint gp-0) ) (suspend-for (seconds 0.6) ) diff --git a/test/decompiler/reference/jak2/levels/nest/nest-scenes_REF.gc b/test/decompiler/reference/jak2/levels/nest/nest-scenes_REF.gc index e4ecd80e27..a21fdd4135 100644 --- a/test/decompiler/reference/jak2/levels/nest/nest-scenes_REF.gc +++ b/test/decompiler/reference/jak2/levels/nest/nest-scenes_REF.gc @@ -200,7 +200,7 @@ (let ((a2-1 (vector-normalize-copy! (new 'stack-no-clear 'vector) arg1 1.0))) (quaternion-from-two-vectors! (-> self root quat) (new 'static 'vector :z 1.0) a2-1) ) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 1223) self)) + (set! (-> self part) (create-launch-control group-canyon-lightning-thingy-charge self)) (dotimes (gp-1 5) (set! (-> self lightning gp-1) (new 'process diff --git a/test/decompiler/reference/jak2/levels/outro/credits_REF.gc b/test/decompiler/reference/jak2/levels/outro/credits_REF.gc index 73512ece67..75484430c9 100644 --- a/test/decompiler/reference/jak2/levels/outro/credits_REF.gc +++ b/test/decompiler/reference/jak2/levels/outro/credits_REF.gc @@ -653,41 +653,7 @@ (let ((s3-0 (new 'stack-no-clear 'vector))) (sp-kill-particle arg0 arg1) (set-vector! s3-0 (-> arg2 launchrot x) (-> arg2 launchrot y) (-> arg2 launchrot z) 1.0) - (let ((s2-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when s2-0 - (let ((t9-2 (method-of-type part-tracker activate))) - (t9-2 - (the-as part-tracker s2-0) - *entity-pool* - (symbol->string (-> part-tracker symbol)) - (the-as pointer #x70004000) - ) - ) - (let ((t9-3 run-function-in-process) - (a0-5 s2-0) - (a1-4 part-tracker-init) - (a2-5 (-> *part-group-id-table* 1275)) - (a3-1 0) - (t0-0 #f) - (t1-0 #f) - (t2-0 #f) - (t3-0 *launch-matrix*) - ) - (set! (-> t3-0 trans quad) (-> s3-0 quad)) - ((the-as (function object object object object object object object object none) t9-3) - a0-5 - a1-4 - a2-5 - a3-1 - t0-0 - t1-0 - t2-0 - t3-0 - ) - ) - (-> s2-0 ppointer) - ) - ) + (part-tracker-spawn :to *entity-pool* :group group-ctyport-firework-pop :mat-joint s3-0) ) ) (sparticle-motion-blur arg0 arg1 (-> arg2 launchrot)) @@ -701,41 +667,7 @@ (let ((s3-0 (new 'stack-no-clear 'vector))) (sp-kill-particle arg0 arg1) (set-vector! s3-0 (-> arg2 launchrot x) (-> arg2 launchrot y) (-> arg2 launchrot z) 1.0) - (let ((s2-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when s2-0 - (let ((t9-2 (method-of-type part-tracker activate))) - (t9-2 - (the-as part-tracker s2-0) - *entity-pool* - (symbol->string (-> part-tracker symbol)) - (the-as pointer #x70004000) - ) - ) - (let ((t9-3 run-function-in-process) - (a0-5 s2-0) - (a1-4 part-tracker-init) - (a2-5 (-> *part-group-id-table* 1274)) - (a3-1 0) - (t0-0 #f) - (t1-0 #f) - (t2-0 #f) - (t3-0 *launch-matrix*) - ) - (set! (-> t3-0 trans quad) (-> s3-0 quad)) - ((the-as (function object object object object object object object object none) t9-3) - a0-5 - a1-4 - a2-5 - a3-1 - t0-0 - t1-0 - t2-0 - t3-0 - ) - ) - (-> s2-0 ppointer) - ) - ) + (part-tracker-spawn :to *entity-pool* :group group-ctyport-firework-red-pop :mat-joint s3-0) ) ) (sparticle-motion-blur arg0 arg1 (-> arg2 launchrot)) @@ -749,41 +681,7 @@ (let ((s3-0 (new 'stack-no-clear 'vector))) (sp-kill-particle arg0 arg1) (set-vector! s3-0 (-> arg2 launchrot x) (-> arg2 launchrot y) (-> arg2 launchrot z) 1.0) - (let ((s2-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when s2-0 - (let ((t9-2 (method-of-type part-tracker activate))) - (t9-2 - (the-as part-tracker s2-0) - *entity-pool* - (symbol->string (-> part-tracker symbol)) - (the-as pointer #x70004000) - ) - ) - (let ((t9-3 run-function-in-process) - (a0-5 s2-0) - (a1-4 part-tracker-init) - (a2-5 (-> *part-group-id-table* 1273)) - (a3-1 0) - (t0-0 #f) - (t1-0 #f) - (t2-0 #f) - (t3-0 *launch-matrix*) - ) - (set! (-> t3-0 trans quad) (-> s3-0 quad)) - ((the-as (function object object object object object object object object none) t9-3) - a0-5 - a1-4 - a2-5 - a3-1 - t0-0 - t1-0 - t2-0 - t3-0 - ) - ) - (-> s2-0 ppointer) - ) - ) + (part-tracker-spawn :to *entity-pool* :group group-ctyport-firework-green-pop :mat-joint s3-0) ) ) (sparticle-motion-blur arg0 arg1 (-> arg2 launchrot)) diff --git a/test/decompiler/reference/jak2/levels/outro/outro-scenes_REF.gc b/test/decompiler/reference/jak2/levels/outro/outro-scenes_REF.gc index cbed752bd1..3ff1996b44 100644 --- a/test/decompiler/reference/jak2/levels/outro/outro-scenes_REF.gc +++ b/test/decompiler/reference/jak2/levels/outro/outro-scenes_REF.gc @@ -754,7 +754,7 @@ (process-spawn part-tracker :init part-tracker-init - (-> *part-group-id-table* 1276) + group-outro-precursor-entity 5140 #f #f @@ -1540,35 +1540,11 @@ (apply ,(lambda () (with-pp - (let ((gp-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-0 - (let ((t9-1 (method-of-type part-tracker activate))) - (t9-1 (the-as part-tracker gp-0) pp (symbol->string (-> part-tracker symbol)) (the-as pointer #x70004000)) - ) - (let ((t9-2 run-function-in-process) - (a0-2 gp-0) - (a1-2 part-tracker-init) - (a2-4 (-> *part-group-id-table* 1272)) - (a3-1 #x2d96) - (t0-0 #f) - (t1-0 #f) - (t2-0 #f) - (t3-0 *launch-matrix*) - ) - (set! (-> t3-0 trans quad) (-> (new 'static 'vector :x 180224.0 :y 81920.0 :z 5660672.0 :w 1.0) quad)) - ((the-as (function object object object object object object object object none) t9-2) - a0-2 - a1-2 - a2-4 - a3-1 - t0-0 - t1-0 - t2-0 - t3-0 - ) - ) - (-> gp-0 ppointer) - ) + (part-tracker-spawn + :to pp + :group group-ctyport-fireworks + :duration #x2d96 + :mat-joint (new 'static 'vector :x 180224.0 :y 81920.0 :z 5660672.0 :w 1.0) ) ) ) @@ -1610,35 +1586,11 @@ ,(lambda () (with-pp (set-setting! 'process-mask 'set 0.0 (process-mask enemy platform projectile)) - (let ((gp-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-0 - (let ((t9-2 (method-of-type part-tracker activate))) - (t9-2 (the-as part-tracker gp-0) pp (symbol->string (-> part-tracker symbol)) (the-as pointer #x70004000)) - ) - (let ((t9-3 run-function-in-process) - (a0-3 gp-0) - (a1-3 part-tracker-init) - (a2-5 (-> *part-group-id-table* 1272)) - (a3-2 #x2dc6c0) - (t0-1 #f) - (t1-1 #f) - (t2-0 #f) - (t3-0 *launch-matrix*) - ) - (set! (-> t3-0 trans quad) (-> (new 'static 'vector :x 860160.0 :y 122880.0 :z 6062080.0 :w 1.0) quad)) - ((the-as (function object object object object object object object object none) t9-3) - a0-3 - a1-3 - a2-5 - a3-2 - t0-1 - t1-1 - t2-0 - t3-0 - ) - ) - (-> gp-0 ppointer) - ) + (part-tracker-spawn + :to pp + :group group-ctyport-fireworks + :duration #x2dc6c0 + :mat-joint (new 'static 'vector :x 860160.0 :y 122880.0 :z 6062080.0 :w 1.0) ) ) ) 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 0c30acaad4..9a33968bc2 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 @@ -111,7 +111,7 @@ (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 group) group-squid-grenade-explode) (set! (-> gp-1 collide-with) (collide-spec backgnd jak crate civilian enemy obstacle vehicle-sphere hit-by-others-list player-list pusher) ) @@ -293,7 +293,7 @@ ;; definition for method 31 of type squid-grenade (defmethod init-proj-settings! ((this squid-grenade)) "Init relevant settings for the [[projectile]] such as gravity, speed, timeout, etc" - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 1120) this)) + (set! (-> this part) (create-launch-control group-squid-grenade-trail this)) (set! (-> this attack-mode) 'squid-grenade) (set! (-> this max-speed) 655360.0) (set! (-> this move) squid-grenade-move) @@ -410,7 +410,7 @@ (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* 1123)) + (set! (-> gp-1 group) group-squid-whirlwind-explode) (set! (-> gp-1 collide-with) (collide-spec backgnd jak crate civilian enemy obstacle vehicle-sphere hit-by-others-list player-list pusher) ) 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 eb833c9f8d..e4e6c56bd3 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 @@ -624,7 +624,7 @@ (set! (-> self current-nav-poly) (cloest-point-on-mesh (-> self nav) (-> self root trans) (-> self root trans) (the-as nav-poly #f)) ) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 1122) self)) + (set! (-> self part) (create-launch-control group-squid-whirlwind-fire self)) (set! (-> self whirl-sound) (new-sound-id)) (set! (-> self whirl-sound-playing) #f) (go-virtual idle) @@ -1441,36 +1441,7 @@ ) ) (when arg2 - (let ((s4-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when s4-1 - (let ((t9-2 (method-of-type part-tracker activate))) - (t9-2 (the-as part-tracker s4-1) self (symbol->string (-> part-tracker symbol)) (the-as pointer #x70004000)) - ) - (let ((t9-3 run-function-in-process) - (a0-4 s4-1) - (a1-4 part-tracker-init) - (a2-6 (-> *part-group-id-table* 1121)) - (a3-2 0) - (t0-0 #f) - (t1-0 #f) - (t2-0 #f) - (t3-0 *launch-matrix*) - ) - (set! (-> t3-0 trans quad) (-> gp-0 quad)) - ((the-as (function object object object object object object object object none) t9-3) - a0-4 - a1-4 - a2-6 - a3-2 - t0-0 - t1-0 - t2-0 - t3-0 - ) - ) - (-> s4-1 ppointer) - ) - ) + (part-tracker-spawn :to self :group group-squid-grenade-explode :mat-joint gp-0) (sound-play "hit-squid") ) (if (logtest? (attack-mask attacker-velocity) (-> arg1 mask)) @@ -1536,7 +1507,7 @@ (let ((s5-0 run-function-in-process) (s4-0 gp-0) (s3-0 part-tracker-init) - (s2-0 (-> *part-group-id-table* 1121)) + (s2-0 group-squid-grenade-explode) (s1-0 0) (s0-0 #f) ) @@ -1572,7 +1543,7 @@ (let ((s5-1 run-function-in-process) (s4-1 gp-1) (s3-1 part-tracker-init) - (s2-1 (-> *part-group-id-table* 1121)) + (s2-1 group-squid-grenade-explode) (s1-1 0) (s0-1 #f) ) @@ -2033,7 +2004,7 @@ ) (set! (-> this blink-time) 0) (setup-part-engine this #t) - (set! (-> this thruster-part) (create-launch-control (-> *part-group-id-table* 1118) this)) + (set! (-> this thruster-part) (create-launch-control group-squid-thruster this)) (dotimes (v1-110 10) (set! (-> this grenade v1-110 grenade) (the-as handle #f)) (set! (-> this grenade v1-110 marker) (the-as handle #f)) @@ -2072,7 +2043,7 @@ ) (set! (-> this hud) (the-as handle #f)) (setup-masks (-> this draw) 0 5440) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 1124) this)) + (set! (-> this part) (create-launch-control group-squid-damage this)) (set! (-> this desired-rotate-to-vector-angle) 0.0) (set! (-> this allowed-rotate-to-vector-angle) 0.0) (set! (-> this rush-sound) (new-sound-id)) @@ -3163,41 +3134,7 @@ (draw-beam (-> *part-id-table* 4857) (-> this tail-pos) a2-1 #f #t) ) (vector+! gp-0 gp-0 s4-0) - (let ((s5-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-1 - (let ((t9-3 (method-of-type part-tracker activate))) - (t9-3 - (the-as part-tracker s5-1) - *entity-pool* - (symbol->string (-> part-tracker symbol)) - (the-as pointer #x70004000) - ) - ) - (let ((t9-4 run-function-in-process) - (a0-12 s5-1) - (a1-5 part-tracker-init) - (a2-6 (-> *part-group-id-table* 1125)) - (a3-2 0) - (t0-1 #f) - (t1-0 #f) - (t2-0 #f) - (t3-0 *launch-matrix*) - ) - (set! (-> t3-0 trans quad) (-> gp-0 quad)) - ((the-as (function object object object object object object object object none) t9-4) - a0-12 - a1-5 - a2-6 - a3-2 - t0-1 - t1-0 - t2-0 - t3-0 - ) - ) - (-> s5-1 ppointer) - ) - ) + (part-tracker-spawn :to *entity-pool* :group group-squid-shot-hit :mat-joint gp-0) ) 0 (none) 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 9524ad09a3..d7d21ca4ec 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 @@ -571,7 +571,7 @@ (let ((s5-3 run-function-in-process) (s4-1 gp-4) (s3-1 part-tracker-init) - (s2-0 (-> *part-group-id-table* 1123)) + (s2-0 group-squid-whirlwind-explode) (s1-0 0) (s0-0 #f) ) @@ -607,7 +607,7 @@ (let ((s5-4 run-function-in-process) (s4-2 gp-5) (s3-2 part-tracker-init) - (s2-1 (-> *part-group-id-table* 1123)) + (s2-1 group-squid-whirlwind-explode) (s1-1 0) (s0-1 #f) ) @@ -642,7 +642,7 @@ (let ((s5-5 run-function-in-process) (s4-3 gp-6) (s3-3 part-tracker-init) - (s2-2 (-> *part-group-id-table* 1123)) + (s2-2 group-squid-whirlwind-explode) (s1-2 0) (s0-2 #f) ) @@ -1160,7 +1160,7 @@ (let ((t9-9 run-function-in-process) (a0-17 s5-1) (a1-8 part-tracker-init) - (a2-7 (-> *part-group-id-table* 1119)) + (a2-7 group-squid-marker) (a3-3 0) (t0-2 #f) (t1-2 #f) 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 6f3cf5ec6f..8c95a20db4 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 @@ -652,41 +652,7 @@ (set! (-> *part-id-table* 606 init-specs 10 initial-valuef) f28-0) ) (vector+! gp-0 gp-0 s5-0) - (let ((s5-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-1 - (let ((t9-3 (method-of-type part-tracker activate))) - (t9-3 - (the-as part-tracker s5-1) - *entity-pool* - (symbol->string (-> part-tracker symbol)) - (the-as pointer #x70004000) - ) - ) - (let ((t9-4 run-function-in-process) - (a0-12 s5-1) - (a1-5 part-tracker-init) - (a2-6 (-> *part-group-id-table* 137)) - (a3-2 0) - (t0-1 #f) - (t1-0 #f) - (t2-0 #f) - (t3-0 *launch-matrix*) - ) - (set! (-> t3-0 trans quad) (-> gp-0 quad)) - ((the-as (function object object object object object object object object none) t9-4) - a0-12 - a1-5 - a2-6 - a3-2 - t0-1 - t1-0 - t2-0 - t3-0 - ) - ) - (-> s5-1 ppointer) - ) - ) + (part-tracker-spawn :to *entity-pool* :group group-guard-shot-hit :mat-joint gp-0) ) 0 (none) 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 9411c06fa0..2947065027 100644 --- a/test/decompiler/reference/jak2/levels/palace/pal-obs_REF.gc +++ b/test/decompiler/reference/jak2/levels/palace/pal-obs_REF.gc @@ -516,41 +516,7 @@ (set! (-> self speed-y) 0.0) (sound-play "grind-ring-fall") (set! (-> self hit-sound-played?) #f) - (let ((gp-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-1 - (let ((t9-3 (method-of-type part-tracker activate))) - (t9-3 - (the-as part-tracker gp-1) - *entity-pool* - (symbol->string (-> part-tracker symbol)) - (the-as pointer #x70004000) - ) - ) - (let ((t9-4 run-function-in-process) - (a0-4 gp-1) - (a1-3 part-tracker-init) - (a2-5 (-> *part-group-id-table* 1132)) - (a3-2 0) - (t0-1 #f) - (t1-1 #f) - (t2-1 #f) - (t3-0 *launch-matrix*) - ) - (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 - a2-5 - a3-2 - t0-1 - t1-1 - t2-1 - t3-0 - ) - ) - (-> gp-1 ppointer) - ) - ) + (part-tracker-spawn :to *entity-pool* :group group-pal-grind-ring-explode :mat-joint (-> self root trans)) ) :trans (behavior () (+! (-> self speed-y) (* -163840.0 (seconds-per-frame))) @@ -624,7 +590,7 @@ ) (logior! (-> this mask) (process-mask enemy)) (logior! (-> this mask) (process-mask collectable)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 1131) this)) + (set! (-> this part) (create-launch-control group-pal-grind-ring-energy this)) (process-spawn pal-grind-ring-center arg0 :to this) (go (method-of-object this idle)) (none) 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 008694f0e1..26c92a06b0 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 @@ -183,7 +183,7 @@ (the-as skeleton-group (art-group-get-by-name *level* "skel-pal-prong" (the-as (pointer uint32) #f))) (the-as pair 0) ) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 1111) this)) + (set! (-> this part) (create-launch-control group-pal-prong-energy this)) (if (task-node-closed? (game-task-node palace-boss-resolution)) (go (method-of-object this broken)) (go (method-of-object this idle)) 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 4c768bbc14..11b7bf4135 100644 --- a/test/decompiler/reference/jak2/levels/ruins/mechtest-obs_REF.gc +++ b/test/decompiler/reference/jak2/levels/ruins/mechtest-obs_REF.gc @@ -328,72 +328,14 @@ ) ) (sound-play "block-break") - (let ((gp-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-1 - (let ((t9-4 (method-of-type part-tracker activate))) - (t9-4 (the-as part-tracker gp-1) self (symbol->string (-> part-tracker symbol)) (the-as pointer #x70004000)) - ) - (let ((t9-5 run-function-in-process) - (a0-11 gp-1) - (a1-4 part-tracker-init) - (a2-5 (-> *part-group-id-table* 124)) - (a3-2 0) - (t0-1 #f) - (t1-1 #f) - (t2-1 #f) - (t3-0 *launch-matrix*) - ) - (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 - a2-5 - a3-2 - t0-1 - t1-1 - t2-1 - t3-0 - ) - ) - (-> gp-1 ppointer) - ) - ) + (part-tracker-spawn :to self :group group-crate-explode :mat-joint (-> self root trans)) (go-virtual wait) ) ((or (< 12288.0 (vector-vector-distance (-> self drop-point) (-> self root trans))) (time-elapsed? (-> self state-time) (seconds 5)) ) (sound-play "block-break") - (let ((gp-3 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-3 - (let ((t9-11 (method-of-type part-tracker activate))) - (t9-11 (the-as part-tracker gp-3) self (symbol->string (-> part-tracker symbol)) (the-as pointer #x70004000)) - ) - (let ((t9-12 run-function-in-process) - (a0-18 gp-3) - (a1-9 part-tracker-init) - (a2-11 (-> *part-group-id-table* 124)) - (a3-5 0) - (t0-3 #f) - (t1-3 #f) - (t2-3 #f) - (t3-1 *launch-matrix*) - ) - (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 - a2-11 - a3-5 - t0-3 - t1-3 - t2-3 - t3-1 - ) - ) - (-> gp-3 ppointer) - ) - ) + (part-tracker-spawn :to self :group group-crate-explode :mat-joint (-> self root trans)) (go-virtual wait) ) (else diff --git a/test/decompiler/reference/jak2/levels/ruins/ruins-scenes_REF.gc b/test/decompiler/reference/jak2/levels/ruins/ruins-scenes_REF.gc index 96c36a999e..17b824a226 100644 --- a/test/decompiler/reference/jak2/levels/ruins/ruins-scenes_REF.gc +++ b/test/decompiler/reference/jak2/levels/ruins/ruins-scenes_REF.gc @@ -1387,7 +1387,7 @@ The scale will be linearly-interpolated based on the distance from the camera" (the-as skeleton-group (art-group-get-by-name *level* "skel-flag" (the-as (pointer uint32) #f))) (the-as pair 0) ) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 78) this)) + (set! (-> this part) (create-launch-control group-rod-of-god this)) (add-icon! *minimap* this (the-as uint 16) (the-as int #f) (the-as vector #t) 0) (go (method-of-object this idle)) (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 4e9ce43a75..b22e285372 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 @@ -85,7 +85,7 @@ (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 group) group-sewer-explode0) (set! (-> gp-0 collide-with) (collide-spec jak bot player-list)) (set! (-> gp-0 penetrate-using) (penetrate explode)) (explosion-spawn self explosion gp-0) diff --git a/test/decompiler/reference/jak2/levels/sewer/sew-gunturret_REF.gc b/test/decompiler/reference/jak2/levels/sewer/sew-gunturret_REF.gc index d220cda7b8..a1c086de6e 100644 --- a/test/decompiler/reference/jak2/levels/sewer/sew-gunturret_REF.gc +++ b/test/decompiler/reference/jak2/levels/sewer/sew-gunturret_REF.gc @@ -1105,9 +1105,9 @@ (init-enemy-behaviour-and-stats! this (-> this params enemy-info)) (logclear! (-> this mask) (process-mask actor-pause)) (logclear! (-> this enemy-flags) (enemy-flag actor-pause-backup)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 1126) this)) - (set! (-> this smoke-part) (create-launch-control (-> *part-group-id-table* 1127) this)) - (set! (-> this casing-part) (create-launch-control (-> *part-group-id-table* 1128) this)) + (set! (-> this part) (create-launch-control group-sew-gunturret-hit this)) + (set! (-> this smoke-part) (create-launch-control group-sew-gunturret-smoke this)) + (set! (-> this casing-part) (create-launch-control group-sew-gunturret-casing this)) (set! (-> this gun-tilt-jm) (new 'process 'joint-mod (joint-mod-mode joint-set*) this (-> this params barrel-joint)) ) 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 5616a034d5..53450e4d45 100644 --- a/test/decompiler/reference/jak2/levels/sewer/sewer-obs2_REF.gc +++ b/test/decompiler/reference/jak2/levels/sewer/sewer-obs2_REF.gc @@ -959,36 +959,7 @@ (logior! (-> self draw status) (draw-control-status no-draw)) (sound-play "sew-mine-b") (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))) - (func (the-as part-tracker part) self (symbol->string (-> part-tracker symbol)) (the-as pointer #x70004000)) - ) - (let ((t9-7 run-function-in-process) - (a0-8 part) - (a1-6 part-tracker-init) - (a2-10 (-> *part-group-id-table* 124)) - (a3-4 0) - (t0-2 #f) - (t1-1 #f) - (t2-1 #f) - (t3-0 *launch-matrix*) - ) - (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 - a2-10 - a3-4 - t0-2 - t1-1 - t2-1 - t3-0 - ) - ) - (-> part ppointer) - ) - ) + (part-tracker-spawn :to self :group group-crate-explode :mat-joint (-> self root trans)) (cleanup-for-death self) (suspend-for (seconds 2) ) @@ -999,7 +970,7 @@ ;; WARN: Return type mismatch int vs none. (defmethod init-mine! ((this sew-mine)) "Initializes the mine's particles and sets `last-time` to `0`" - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 345) this)) + (set! (-> this part) (create-launch-control group-sew-mine-light this)) (set! (-> this last-time) 0) 0 (none) diff --git a/test/decompiler/reference/jak2/levels/stadium/skate/skatea-obs_REF.gc b/test/decompiler/reference/jak2/levels/stadium/skate/skatea-obs_REF.gc index 180930acef..73d7aea282 100644 --- a/test/decompiler/reference/jak2/levels/stadium/skate/skatea-obs_REF.gc +++ b/test/decompiler/reference/jak2/levels/stadium/skate/skatea-obs_REF.gc @@ -1781,42 +1781,8 @@ :virtual #t :code (behavior () (sound-play "dig-air-lifter") - (let ((s5-1 (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node skatea-jump-pad-lod0-jg main))) - (gp-1 (get-process *default-dead-pool* part-tracker #x4000)) - ) - (when gp-1 - (let ((t9-4 (method-of-type part-tracker activate))) - (t9-4 - (the-as part-tracker gp-1) - *entity-pool* - (symbol->string (-> part-tracker symbol)) - (the-as pointer #x70004000) - ) - ) - (let ((t9-5 run-function-in-process) - (a0-5 gp-1) - (a1-4 part-tracker-init) - (a2-5 (-> *part-group-id-table* 12)) - (a3-2 0) - (t0-1 #f) - (t1-1 #f) - (t2-1 #f) - (t3-0 *launch-matrix*) - ) - (set! (-> t3-0 trans quad) (-> s5-1 quad)) - ((the-as (function object object object object object object object object none) t9-5) - a0-5 - a1-4 - a2-5 - a3-2 - t0-1 - t1-1 - t2-1 - t3-0 - ) - ) - (-> gp-1 ppointer) - ) + (let ((s5-1 (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node skatea-jump-pad-lod0-jg main)))) + (part-tracker-spawn :to *entity-pool* :group group-smack-surface :mat-joint s5-1) ) (let ((t9-6 (-> (method-of-type bouncer fire) code))) (if t9-6 @@ -1959,7 +1925,7 @@ (logior! (-> this mask) (process-mask crate)) (set! (-> this pos-y) (-> this root trans y)) (set! (-> this offset) (rand-vu)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 539) this)) + (set! (-> this part) (create-launch-control group-skatea-flaming-ring this)) (set! (-> this sound) (new 'process 'ambient-sound (static-sound-spec "fire-ring" :fo-min 10 :fo-max 30) (-> this root trans)) ) 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 e2bd9436eb..8f92b2d494 100644 --- a/test/decompiler/reference/jak2/levels/stadium/stadium-obs_REF.gc +++ b/test/decompiler/reference/jak2/levels/stadium/stadium-obs_REF.gc @@ -979,36 +979,7 @@ (defstate defend-stadium-explode (rift-rider) :virtual #t :code (behavior () - (let ((gp-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-0 - (let ((t9-1 (method-of-type part-tracker activate))) - (t9-1 (the-as part-tracker gp-0) self (symbol->string (-> part-tracker symbol)) (the-as pointer #x70004000)) - ) - (let ((t9-2 run-function-in-process) - (a0-2 gp-0) - (a1-2 part-tracker-init) - (a2-4 (-> *part-group-id-table* 125)) - (a3-1 0) - (t0-0 #f) - (t1-0 #f) - (t2-0 #f) - (t3-0 *launch-matrix*) - ) - (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 - a2-4 - a3-1 - t0-0 - t1-0 - t2-0 - t3-0 - ) - ) - (-> gp-0 ppointer) - ) - ) + (part-tracker-spawn :to self :group group-crate-steel-explode :mat-joint (-> self root trans)) (suspend) (cleanup-for-death self) ) @@ -1028,7 +999,7 @@ (defmethod rigid-body-object-method-34 ((this rift-rider)) (cond ((nonzero? (-> this path)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 902) this)) + (set! (-> this part) (create-launch-control group-defend-rift-rider-energy this)) (logior! (-> this path flags) (path-control-flag display draw-line draw-point draw-text)) (go defend-stadium-wait) ) @@ -2204,7 +2175,7 @@ (set! (-> this hit-points) (-> this max-hit-points)) (set! (-> this incoming-attack-id) (the-as uint -1)) (set! (-> this focus-disable-timer) 0) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 903) this)) + (set! (-> this part) (create-launch-control group-defend-stadium-samos-energy this)) (go (method-of-object this idle)) (none) ) diff --git a/test/decompiler/reference/jak2/levels/strip/chaincrate_REF.gc b/test/decompiler/reference/jak2/levels/strip/chaincrate_REF.gc index e9264cdb26..5544deb6fb 100644 --- a/test/decompiler/reference/jak2/levels/strip/chaincrate_REF.gc +++ b/test/decompiler/reference/jak2/levels/strip/chaincrate_REF.gc @@ -240,8 +240,8 @@ (the-as skeleton-group (art-group-get-by-name *level* "skel-strip-chain-crate" (the-as (pointer uint32) #f))) (the-as pair 0) ) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 238) self)) - (set! (-> self part2) (create-launch-control (-> *part-group-id-table* 239) self)) + (set! (-> self part) (create-launch-control group-chain-crate-cable-sparks self)) + (set! (-> self part2) (create-launch-control group-chain-crate-guide-sparks self)) (set! (-> self path) (new 'process 'curve-control self 'path -1000000000.0)) (logior! (-> self path flags) (path-control-flag display draw-line draw-point draw-text)) (let ((f0-7 (total-distance (-> self path)))) 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 bd6d1a335d..97737ed7d8 100644 --- a/test/decompiler/reference/jak2/levels/strip/strip-obs_REF.gc +++ b/test/decompiler/reference/jak2/levels/strip/strip-obs_REF.gc @@ -463,7 +463,7 @@ (vector<-cspace! (new 'static 'vector) (-> this node-list data 4)) ) ) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 214) this)) + (set! (-> this part) (create-launch-control group-strip-pitspikes-dust this)) (logclear! (-> this mask) (process-mask actor-pause)) (go (method-of-object this idle)) (none) @@ -572,7 +572,7 @@ (vector<-cspace! (new 'static 'vector) (-> this node-list data 3)) ) ) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 213) this)) + (set! (-> this part) (create-launch-control group-strip-curtain-saw-dust this)) (logclear! (-> this mask) (process-mask actor-pause)) (go (method-of-object this idle)) (none) @@ -972,10 +972,10 @@ ) (process-drawable-from-entity! this arg0) (set! (-> this camera-name) (res-lump-struct (-> this entity) 'camera-name string)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 215) this)) - (set! (-> this part2) (create-launch-control (-> *part-group-id-table* 216) this)) - (set! (-> this part3) (create-launch-control (-> *part-group-id-table* 217) this)) - (set! (-> this part-lightning-hit) (create-launch-control (-> *part-group-id-table* 218) this)) + (set! (-> this part) (create-launch-control group-grenade-point this)) + (set! (-> this part2) (create-launch-control group-grenade-point-hit this)) + (set! (-> this part3) (create-launch-control group-grenade-point-dead this)) + (set! (-> this part-lightning-hit) (create-launch-control group-lightning-silo-tip this)) (set! (-> this lightning-time) 0) (set! (-> this strike-table) (-> *grenade-point-strike-table* @@ -1214,41 +1214,7 @@ ;; WARN: Return type mismatch int vs none. (defmethod draw-laser-sight ((this grenade)) "TODO - confirm If applicable, draw the laser sight particles" - (let ((gp-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-0 - (let ((t9-1 (method-of-type part-tracker activate))) - (t9-1 - (the-as part-tracker gp-0) - *entity-pool* - (symbol->string (-> part-tracker symbol)) - (the-as pointer #x70004000) - ) - ) - (let ((t9-2 run-function-in-process) - (a0-3 gp-0) - (a1-2 part-tracker-init) - (a2-4 (-> *part-group-id-table* 237)) - (a3-1 0) - (t0-0 #f) - (t1-0 #f) - (t2-0 #f) - (t3-0 *launch-matrix*) - ) - (set! (-> t3-0 trans quad) (-> this root trans quad)) - ((the-as (function object object object object object object object object none) t9-2) - a0-3 - a1-2 - a2-4 - a3-1 - t0-0 - t1-0 - t2-0 - t3-0 - ) - ) - (-> gp-0 ppointer) - ) - ) + (part-tracker-spawn :to *entity-pool* :group group-grenade-fired :mat-joint (-> this root trans)) 0 (none) ) @@ -1268,41 +1234,7 @@ ;; WARN: Return type mismatch int vs none. (defmethod spawn-shell-particles ((this grenade)) "TODO - confirm" - (let ((gp-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-0 - (let ((t9-1 (method-of-type part-tracker activate))) - (t9-1 - (the-as part-tracker gp-0) - *entity-pool* - (symbol->string (-> part-tracker symbol)) - (the-as pointer #x70004000) - ) - ) - (let ((t9-2 run-function-in-process) - (a0-3 gp-0) - (a1-2 part-tracker-init) - (a2-4 (-> *part-group-id-table* 236)) - (a3-1 0) - (t0-0 #f) - (t1-0 #f) - (t2-0 #f) - (t3-0 *launch-matrix*) - ) - (set! (-> t3-0 trans quad) (-> this root trans quad)) - ((the-as (function object object object object object object object object none) t9-2) - a0-3 - a1-2 - a2-4 - a3-1 - t0-0 - t1-0 - t2-0 - t3-0 - ) - ) - (-> gp-0 ppointer) - ) - ) + (part-tracker-spawn :to *entity-pool* :group group-grenade-hit :mat-joint (-> this root trans)) 0 (none) ) @@ -1499,7 +1431,7 @@ (set! (-> this end-target) (process->handle (as-type (send-event (ppointer->process (-> this parent)) 'target) process-drawable)) ) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 235) this)) + (set! (-> this part) (create-launch-control group-grenade-armed this)) (cpad-set-buzz! (-> *cpad-list* cpads 0) 1 204 (seconds 0.1)) (none) ) diff --git a/test/decompiler/reference/jak2/levels/tomb/tomb-beetle_REF.gc b/test/decompiler/reference/jak2/levels/tomb/tomb-beetle_REF.gc index e46fe2ab98..a94b098ff1 100644 --- a/test/decompiler/reference/jak2/levels/tomb/tomb-beetle_REF.gc +++ b/test/decompiler/reference/jak2/levels/tomb/tomb-beetle_REF.gc @@ -744,36 +744,7 @@ ) 0 (logior! (-> self draw status) (draw-control-status no-draw)) - (let ((gp-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-1 - (let ((t9-5 (method-of-type part-tracker activate))) - (t9-5 (the-as part-tracker gp-1) self (symbol->string (-> part-tracker symbol)) (the-as pointer #x70004000)) - ) - (let ((t9-6 run-function-in-process) - (a0-15 gp-1) - (a1-6 part-tracker-init) - (a2-6 (-> *part-group-id-table* 708)) - (a3-1 0) - (t0-0 #f) - (t1-0 #f) - (t2-0 #f) - (t3-0 *launch-matrix*) - ) - (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 - a2-6 - a3-1 - t0-0 - t1-0 - t2-0 - t3-0 - ) - ) - (-> gp-1 ppointer) - ) - ) + (part-tracker-spawn :to self :group group-tomb-beetle-explode :mat-joint (-> self root trans)) (suspend-for (seconds 2) ) ) diff --git a/test/decompiler/reference/jak2/levels/tomb/tomb-water_REF.gc b/test/decompiler/reference/jak2/levels/tomb/tomb-water_REF.gc index 56a11112cc..36cd1e65fe 100644 --- a/test/decompiler/reference/jak2/levels/tomb/tomb-water_REF.gc +++ b/test/decompiler/reference/jak2/levels/tomb/tomb-water_REF.gc @@ -2123,36 +2123,7 @@ (transform-post) ) (else - (let ((gp-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-1 - (let ((t9-3 (method-of-type part-tracker activate))) - (t9-3 (the-as part-tracker gp-1) self (symbol->string (-> part-tracker symbol)) (the-as pointer #x70004000)) - ) - (let ((t9-4 run-function-in-process) - (a0-4 gp-1) - (a1-3 part-tracker-init) - (a2-5 (-> *part-group-id-table* 686)) - (a3-1 450) - (t0-0 #f) - (t1-0 #f) - (t2-0 #f) - (t3-0 *launch-matrix*) - ) - (set! (-> t3-0 trans quad) (-> self spawn-pos quad)) - ((the-as (function object object object object object object object object none) t9-4) - a0-4 - a1-3 - a2-5 - a3-1 - t0-0 - t1-0 - t2-0 - t3-0 - ) - ) - (-> gp-1 ppointer) - ) - ) + (part-tracker-spawn :to self :group group-tomb-vibe-dust-puff :duration 450 :mat-joint (-> self spawn-pos)) (ja-no-eval :group! tomb-vibe-fall-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (transform-post) @@ -2635,7 +2606,7 @@ :sound #f ) ) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 696) this)) + (set! (-> this part) (create-launch-control group-tomb-water-trap-hit this)) (let ((a3-3 (new 'stack-no-clear 'vector))) (set! (-> a3-3 x) (* 0.5 (+ (-> this bbox min x) (-> this bbox max x)))) (set! (-> a3-3 y) (* 0.5 (+ (-> this bbox min y) (-> this bbox max y)))) diff --git a/test/decompiler/reference/jak2/levels/tomb/widow-baron_REF.gc b/test/decompiler/reference/jak2/levels/tomb/widow-baron_REF.gc index 2047a64973..09543072a5 100644 --- a/test/decompiler/reference/jak2/levels/tomb/widow-baron_REF.gc +++ b/test/decompiler/reference/jak2/levels/tomb/widow-baron_REF.gc @@ -670,7 +670,7 @@ (set! (-> self blink-time) 0) (set! (-> self red-tip-change-time) 0) (set! (-> self has-stone) #f) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 728) self)) + (set! (-> self part) (create-launch-control group-widow-green-cannon-glow-rays self)) (baron-pod-method-21 self #t) (go-virtual idle) (none) @@ -1152,7 +1152,7 @@ (let ((s5-0 run-function-in-process) (s4-0 gp-2) (s3-0 part-tracker-init) - (s2-0 (-> *part-group-id-table* 710)) + (s2-0 group-spydroid-explode) (s1-0 600) (s0-0 #f) ) diff --git a/test/decompiler/reference/jak2/levels/tomb/widow-extras_REF.gc b/test/decompiler/reference/jak2/levels/tomb/widow-extras_REF.gc index b9384e1843..a0b5c930cd 100644 --- a/test/decompiler/reference/jak2/levels/tomb/widow-extras_REF.gc +++ b/test/decompiler/reference/jak2/levels/tomb/widow-extras_REF.gc @@ -127,41 +127,7 @@ ) ) (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))) - (t9-8 - (the-as part-tracker s5-7) - *entity-pool* - (symbol->string (-> part-tracker symbol)) - (the-as pointer #x70004000) - ) - ) - (let ((t9-9 run-function-in-process) - (a0-54 s5-7) - (a1-11 part-tracker-init) - (a2-11 (-> *part-group-id-table* 717)) - (a3-1 0) - (t0-0 #f) - (t1-0 #f) - (t2-0 #f) - (t3-0 *launch-matrix*) - ) - (set! (-> t3-0 trans quad) (-> gp-0 quad)) - ((the-as (function object object object object object object object object none) t9-9) - a0-54 - a1-11 - a2-11 - a3-1 - t0-0 - t1-0 - t2-0 - t3-0 - ) - ) - (-> s5-7 ppointer) - ) - ) + (part-tracker-spawn :to *entity-pool* :group group-widow-catwalk-shatter :mat-joint gp-0) ) ) :trans (behavior () @@ -1326,12 +1292,12 @@ (the-as skeleton-group (art-group-get-by-name *level* "skel-widow-bomb" (the-as (pointer uint32) #f))) (the-as pair 0) ) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 712) self)) - (set! (-> self explode-part) (create-launch-control (-> *part-group-id-table* 711) self)) - (set! (-> self trail-part) (create-launch-control (-> *part-group-id-table* 722) self)) - (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! (-> self part) (create-launch-control group-widow-bomb-smoke self)) + (set! (-> self explode-part) (create-launch-control group-widow-bomb-explode self)) + (set! (-> self trail-part) (create-launch-control group-widow-bomb-trail self)) + (set! (-> self warning-glow-part) (create-launch-control group-widow-bomb-warning-glow self)) + (set! (-> self warning-spark-part) (create-launch-control group-widow-bomb-warning-sparks self)) + (set! (-> self skid-part) (create-launch-control group-widow-bomb-skid-sparks self)) (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)))) @@ -1616,17 +1582,7 @@ (go-virtual break-it) ) ((time-elapsed? (-> self last-pillar-hit) (seconds 2)) - (process-spawn - part-tracker - :init part-tracker-init - (-> *part-group-id-table* 718) - 0 - #f - #f - self - 0 - :to *entity-pool* - ) + (process-spawn part-tracker :init part-tracker-init group-widow-pillar-hit 0 #f #f self 0 :to *entity-pool*) (set-time! (-> self last-pillar-hit)) (sound-play "pillar-hit" :position (-> self root trans)) ) @@ -1717,7 +1673,7 @@ (the-as pair 0) ) (transform-post) - (set! (-> this explode-part) (create-launch-control (-> *part-group-id-table* 719) this)) + (set! (-> this explode-part) (create-launch-control group-widow-pillar-fall this)) (set! (-> this last-pillar-hit) 0) (let ((v1-23 (-> this entity extra perm))) (logior! (-> v1-23 status) (entity-perm-status bit-5)) @@ -1798,41 +1754,7 @@ (tomb-boss-firepot-shrink-collision) (set! (-> self draw bounds w) 245760.0) (ja :group! tomb-boss-firepot-break-ja :num! min) - (let ((gp-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-1 - (let ((t9-4 (method-of-type part-tracker activate))) - (t9-4 - (the-as part-tracker gp-1) - *entity-pool* - (symbol->string (-> part-tracker symbol)) - (the-as pointer #x70004000) - ) - ) - (let ((t9-5 run-function-in-process) - (a0-4 gp-1) - (a1-4 part-tracker-init) - (a2-6 (-> *part-group-id-table* 720)) - (a3-1 0) - (t0-0 #f) - (t1-0 #f) - (t2-0 #f) - (t3-0 *launch-matrix*) - ) - (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 - a2-6 - a3-1 - t0-0 - t1-0 - t2-0 - t3-0 - ) - ) - (-> gp-1 ppointer) - ) - ) + (part-tracker-spawn :to *entity-pool* :group group-widow-firepot-shatter :mat-joint (-> self root trans)) ) :trans (behavior () (ja :num! (seek!)) diff --git a/test/decompiler/reference/jak2/levels/tomb/widow-more-extras_REF.gc b/test/decompiler/reference/jak2/levels/tomb/widow-more-extras_REF.gc index 5e301a274e..547a7c33bf 100644 --- a/test/decompiler/reference/jak2/levels/tomb/widow-more-extras_REF.gc +++ b/test/decompiler/reference/jak2/levels/tomb/widow-more-extras_REF.gc @@ -115,116 +115,29 @@ (let ((v1-2 (-> self look))) (cond ((or (zero? v1-2) (= v1-2 1) (= v1-2 2)) - (let ((s5-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-0 - (let ((t9-1 (method-of-type part-tracker activate))) - (t9-1 - (the-as part-tracker s5-0) - *entity-pool* - (symbol->string (-> part-tracker symbol)) - (the-as pointer #x70004000) - ) - ) - (let ((t9-2 run-function-in-process) - (a0-8 s5-0) - (a1-7 part-tracker-init) - (a2-5 (-> *part-group-id-table* 734)) - (a3-2 5) - (t0-0 #f) - (t1-0 #f) - (t2-0 #f) - (t3-0 *launch-matrix*) - ) - (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 - a2-5 - a3-2 - t0-0 - t1-0 - t2-0 - t3-0 - ) - ) - (-> s5-0 ppointer) - ) + (part-tracker-spawn + :to *entity-pool* + :group group-widow-hit-by-big-debris + :duration 5 + :mat-joint (-> self root trans) ) (send-event proc 'debris-hit 1) ) ((or (= v1-2 3) (= v1-2 4) (= v1-2 5)) - (let ((s5-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-1 - (let ((t9-5 (method-of-type part-tracker activate))) - (t9-5 - (the-as part-tracker s5-1) - *entity-pool* - (symbol->string (-> part-tracker symbol)) - (the-as pointer #x70004000) - ) - ) - (let ((t9-6 run-function-in-process) - (a0-16 s5-1) - (a1-13 part-tracker-init) - (a2-10 (-> *part-group-id-table* 735)) - (a3-4 5) - (t0-1 #f) - (t1-1 #f) - (t2-1 #f) - (t3-1 *launch-matrix*) - ) - (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 - a2-10 - a3-4 - t0-1 - t1-1 - t2-1 - t3-1 - ) - ) - (-> s5-1 ppointer) - ) + (part-tracker-spawn + :to *entity-pool* + :group group-widow-hit-by-med-debris + :duration 5 + :mat-joint (-> self root trans) ) (send-event proc 'debris-hit 2) ) (else - (let ((s5-2 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-2 - (let ((t9-9 (method-of-type part-tracker activate))) - (t9-9 - (the-as part-tracker s5-2) - *entity-pool* - (symbol->string (-> part-tracker symbol)) - (the-as pointer #x70004000) - ) - ) - (let ((t9-10 run-function-in-process) - (a0-21 s5-2) - (a1-17 part-tracker-init) - (a2-15 (-> *part-group-id-table* 736)) - (a3-6 5) - (t0-2 #f) - (t1-2 #f) - (t2-2 #f) - (t3-2 *launch-matrix*) - ) - (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 - a2-15 - a3-6 - t0-2 - t1-2 - t2-2 - t3-2 - ) - ) - (-> s5-2 ppointer) - ) + (part-tracker-spawn + :to *entity-pool* + :group group-widow-hit-by-sml-debris + :duration 5 + :mat-joint (-> self root trans) ) (send-event proc 'debris-hit 3) ) @@ -433,7 +346,7 @@ ) (quaternion-axis-angle! (-> self rot) (sin f30-0) 0.0 (cos f30-0) f28-0) ) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 733) self)) + (set! (-> self part) (create-launch-control group-widow-debris-dust self)) (go-virtual idle) (none) ) @@ -536,7 +449,7 @@ (dotimes (v1-12 100) (set! (-> this prev-points v1-12) 0) ) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 737) this)) + (set! (-> this part) (create-launch-control group-widow-boss-pebble-drop this)) (go (method-of-object this wait)) (none) ) diff --git a/test/decompiler/reference/jak2/levels/tomb/widow2_REF.gc b/test/decompiler/reference/jak2/levels/tomb/widow2_REF.gc index 4663dc1e87..767e39cdee 100644 --- a/test/decompiler/reference/jak2/levels/tomb/widow2_REF.gc +++ b/test/decompiler/reference/jak2/levels/tomb/widow2_REF.gc @@ -316,15 +316,15 @@ ) (set! (-> this pod) (ppointer->handle (process-spawn baron-pod (-> this root trans) :to this))) (set! (-> this heart) (the-as handle #f)) - (set! (-> this drill-spark-part) (create-launch-control (-> *part-group-id-table* 713) this)) - (set! (-> this drill-spark-part-alt) (create-launch-control (-> *part-group-id-table* 714) this)) + (set! (-> this drill-spark-part) (create-launch-control group-widow-drilling-sparks this)) + (set! (-> this drill-spark-part-alt) (create-launch-control group-widow-drilling-sparks-alt this)) (set! (-> this extract-stone-time) 0) - (set! (-> this extract-stone-part) (create-launch-control (-> *part-group-id-table* 715) this)) + (set! (-> this extract-stone-part) (create-launch-control group-widow-extract-stone this)) (set! (-> this insert-stone-time) 0) - (set! (-> this insert-stone-part) (create-launch-control (-> *part-group-id-table* 716) this)) - (set! (-> this land-part) (create-launch-control (-> *part-group-id-table* 730) this)) - (set! (-> this green-charge-part) (create-launch-control (-> *part-group-id-table* 731) this)) - (set! (-> this green-fire-part) (create-launch-control (-> *part-group-id-table* 732) this)) + (set! (-> this insert-stone-part) (create-launch-control group-widow-insert-stone this)) + (set! (-> this land-part) (create-launch-control group-widow-land this)) + (set! (-> this green-charge-part) (create-launch-control group-widow-green-gun-charge this)) + (set! (-> this green-fire-part) (create-launch-control group-widow-green-gun-fire this)) (add-connection *part-engine* this 73 this 3251 (new 'static 'vector :w 819200.0)) (add-connection *part-engine* this 77 this 3251 (new 'static 'vector :w 819200.0)) (add-connection *part-engine* this 78 this 3251 (new 'static 'vector :w 819200.0)) diff --git a/test/decompiler/reference/jak2/levels/under/under-obs_REF.gc b/test/decompiler/reference/jak2/levels/under/under-obs_REF.gc index 5206444963..3543ca4ef9 100644 --- a/test/decompiler/reference/jak2/levels/under/under-obs_REF.gc +++ b/test/decompiler/reference/jak2/levels/under/under-obs_REF.gc @@ -401,7 +401,7 @@ - sounds" (set! (-> this root) (new 'process 'trsqv)) (process-drawable-from-entity! this arg0) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 500) this)) + (set! (-> this part) (create-launch-control group-bubbler-streams this)) (set! (-> this rod-of-god-scale) 1.0) (set! (-> this ambient-id) (sound-play "bubbler" :position (-> this root trans))) (go (method-of-object this idle)) @@ -1400,7 +1400,7 @@ ) (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 group) group-under-mine-explode) (set! (-> gp-0 collide-with) (collide-spec backgnd jak crate civilian enemy obstacle vehicle-sphere hit-by-others-list player-list pusher) ) diff --git a/test/decompiler/reference/jak2/levels/under/under-scenes_REF.gc b/test/decompiler/reference/jak2/levels/under/under-scenes_REF.gc index 92ad318ab9..88c47a25d8 100644 --- a/test/decompiler/reference/jak2/levels/under/under-scenes_REF.gc +++ b/test/decompiler/reference/jak2/levels/under/under-scenes_REF.gc @@ -604,41 +604,7 @@ ;; WARN: Return type mismatch int vs none. (defbehavior under-sig-red-shot-overhead scene-player ((arg0 process-tree) (arg1 vector) (arg2 sparticle-launch-state)) (when (not (-> self aborted?)) - (let ((part (get-process *default-dead-pool* part-tracker #x4000))) - (when part - (let ((activate-func (method-of-type part-tracker activate))) - (activate-func - (the-as part-tracker part) - arg0 - (symbol->string (-> part-tracker symbol)) - (the-as pointer #x70004000) - ) - ) - (let ((t9-2 run-function-in-process) - (a0-3 part) - (a1-5 part-tracker-init) - (a2-3 (-> *part-group-id-table* 518)) - (a3-1 0) - (t0-0 #f) - (t1-0 #f) - (t2-0 #f) - (t3-0 *launch-matrix*) - ) - (set! (-> t3-0 trans quad) (-> arg1 quad)) - ((the-as (function object object object object object object object object none) t9-2) - a0-3 - a1-5 - a2-3 - a3-1 - t0-0 - t1-0 - t2-0 - t3-0 - ) - ) - (-> part ppointer) - ) - ) + (part-tracker-spawn :to arg0 :group under-sig-shot-overhead-starflash :mat-joint arg1) (draw-beam (-> *part-id-table* 2291) arg1 (-> arg2 sprite rot-syvel) #f #t) (draw-beam (-> *part-id-table* 2292) arg1 (-> arg2 sprite rot-syvel) #f #t) ) @@ -667,7 +633,7 @@ (let ((t9-4 run-function-in-process) (a0-7 part) (a1-6 part-tracker-init) - (a2-5 (-> *part-group-id-table* 146)) + (a2-5 group-sig-shot-hit) (a3-2 0) (t0-1 #f) (t1-0 #f) diff --git a/test/decompiler/reference/jak2/levels/under/under-shoot-block_REF.gc b/test/decompiler/reference/jak2/levels/under/under-shoot-block_REF.gc index a9bb57d8e7..c6814b23e0 100644 --- a/test/decompiler/reference/jak2/levels/under/under-shoot-block_REF.gc +++ b/test/decompiler/reference/jak2/levels/under/under-shoot-block_REF.gc @@ -1338,7 +1338,7 @@ (set! (-> s5-2 spawn-point quad) (-> this root trans quad)) (quaternion-copy! (-> s5-2 spawn-quat) (-> this root quat)) (set! (-> s5-2 radius) 16384.0) - (set! (-> s5-2 group) (-> *part-group-id-table* 497)) + (set! (-> s5-2 group) group-shoot-block-explode) (set! (-> s5-2 collide-with) (collide-spec jak bot player-list)) (set! (-> s5-2 penetrate-using) (penetrate explode)) (explosion-spawn this explosion s5-2) diff --git a/test/decompiler/reference/jak2/levels/under/underb-master_REF.gc b/test/decompiler/reference/jak2/levels/under/underb-master_REF.gc index 0237bebfc9..d7c45ea057 100644 --- a/test/decompiler/reference/jak2/levels/under/underb-master_REF.gc +++ b/test/decompiler/reference/jak2/levels/under/underb-master_REF.gc @@ -1152,8 +1152,8 @@ (set! (-> this actor-group) (the-as (pointer actor-group) #f)) ) ) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 498) this)) - (set! (-> this draining-part) (create-launch-control (-> *part-group-id-table* 499) this)) + (set! (-> this part) (create-launch-control group-under-locking-fill this)) + (set! (-> this draining-part) (create-launch-control group-under-locking-drain this)) (go (method-of-object this startup)) (none) ) diff --git a/test/decompiler/reference/jak3/decompiler-macros.gc b/test/decompiler/reference/jak3/decompiler-macros.gc index fe795d2af7..7bc58e3cd4 100644 --- a/test/decompiler/reference/jak3/decompiler-macros.gc +++ b/test/decompiler/reference/jak3/decompiler-macros.gc @@ -1324,7 +1324,7 @@ &key (rotate (0.0 0.0 0.0)) &key (scale (1.0 1.0 1.0))) "define a new part group. defines a constant with the name of the group with the ID as its value" `(begin - (defconstant ,name ,id) + ; (defconstant ,name ,id) (set! (-> *part-group-id-table* ,id) (new 'static 'sparticle-launch-group :duration ,duration diff --git a/test/decompiler/reference/jak3/engine/ai/enemy_REF.gc b/test/decompiler/reference/jak3/engine/ai/enemy_REF.gc index bade11fb1c..7252b1e144 100644 --- a/test/decompiler/reference/jak3/engine/ai/enemy_REF.gc +++ b/test/decompiler/reference/jak3/engine/ai/enemy_REF.gc @@ -228,13 +228,13 @@ (vector-copy! v1-9 (-> this root trans)) (set! (-> v1-9 y) (+ 409.6 (-> s5-0 trans y))) (cond - ((logtest? (-> *part-group-id-table* 192 flags) (sp-group-flag sp13)) + ((logtest? (-> group-part-water-splash flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) v1-9) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 192)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-part-water-splash) ) (else (vector-copy! (-> *launch-matrix* trans) v1-9) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 192)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-part-water-splash) ) ) ) diff --git a/test/decompiler/reference/jak3/engine/common-obs/collectables_REF.gc b/test/decompiler/reference/jak3/engine/common-obs/collectables_REF.gc index 328d0eb18b..f885f4c708 100644 --- a/test/decompiler/reference/jak3/engine/common-obs/collectables_REF.gc +++ b/test/decompiler/reference/jak3/engine/common-obs/collectables_REF.gc @@ -286,27 +286,27 @@ ) (case arg0 (((pickup-type eco-yellow)) - (set! s5-0 (-> *part-group-id-table* 164)) - (set! (-> this collect-effect) (-> *part-group-id-table* 170)) - (set! (-> this collect-effect2) (-> *part-group-id-table* 165)) + (set! s5-0 group-eco-yellow) + (set! (-> this collect-effect) group-yellow-collect) + (set! (-> this collect-effect2) group-eco-yellow-collect) (set! s4-0 (static-sound-spec "yel-eco-idle" :group 0 :fo-max 15)) ) (((pickup-type eco-red)) - (set! s5-0 (-> *part-group-id-table* 158)) - (set! (-> this collect-effect) (-> *part-group-id-table* 171)) - (set! (-> this collect-effect2) (-> *part-group-id-table* 159)) + (set! s5-0 group-eco-red) + (set! (-> this collect-effect) group-red-collect) + (set! (-> this collect-effect2) group-eco-red-collect) (set! s4-0 (static-sound-spec "red-eco-idle" :group 0 :fo-max 15)) ) (((pickup-type eco-blue)) - (set! s5-0 (-> *part-group-id-table* 154)) - (set! (-> this collect-effect) (-> *part-group-id-table* 169)) - (set! (-> this collect-effect2) (-> *part-group-id-table* 155)) + (set! s5-0 group-eco-blue) + (set! (-> this collect-effect) group-blue-collect) + (set! (-> this collect-effect2) group-eco-blue-collect) (set! s4-0 (static-sound-spec "blue-eco-idle" :group 0 :fo-max 15)) ) (((pickup-type eco-green)) - (set! s5-0 (-> *part-group-id-table* 129)) - (set! (-> this collect-effect) (-> *part-group-id-table* 141)) - (set! (-> this collect-effect2) (-> *part-group-id-table* 124)) + (set! s5-0 group-eco-green) + (set! (-> this collect-effect) group-green-collect) + (set! (-> this collect-effect2) group-eco-green-collect) (set! s4-0 (static-sound-spec "green-eco-idle" :group 0 :fo-max 15)) ) (((pickup-type health)) @@ -319,21 +319,21 @@ (set! (-> v1-37 y) 2457.6) (set! (-> v1-37 w) 4096.0) ) - (set! (-> this collect-effect) (-> *part-group-id-table* 141)) - (set! (-> this collect-effect2) (-> *part-group-id-table* 124)) + (set! (-> this collect-effect) group-green-collect) + (set! (-> this collect-effect2) group-eco-green-collect) (set! s4-0 (static-sound-spec "green-eco-idle" :group 0 :fo-max 15)) ) (((pickup-type eco-pill-green)) - (set! s5-0 (-> *part-group-id-table* 125)) - (set! (-> this collect-effect2) (-> *part-group-id-table* 126)) + (set! s5-0 group-eco-green-pill) + (set! (-> this collect-effect2) group-eco-green-pill-collect) ) (((pickup-type eco-pill-dark)) - (set! s5-0 (-> *part-group-id-table* 128)) - (set! (-> this collect-effect) (-> *part-group-id-table* 140)) + (set! s5-0 group-eco-dark-pill) + (set! (-> this collect-effect) group-eco-dark-pill-collect) ) (((pickup-type eco-pill-light)) - (set! s5-0 (-> *part-group-id-table* 127)) - (set! (-> this collect-effect) (-> *part-group-id-table* 127)) + (set! s5-0 group-eco-light-pill) + (set! (-> this collect-effect) group-eco-light-pill) ) ) (if s5-0 @@ -2084,8 +2084,8 @@ ) (set-vector! (-> this draw color-mult) 0.8 0.8 0.8 1.0) (set-vector! (-> this draw color-emissive) 0.2 0.2 0.2 1.0) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 134) this)) - (set! (-> this collect-effect) (-> *part-group-id-table* 135)) + (set! (-> this part) (create-launch-control group-gem-glow this)) + (set! (-> this collect-effect) group-gem-collect) (set! (-> this gem-pool) (the-as uint 0)) 0 (none) @@ -2195,12 +2195,12 @@ ((>= (-> this pickup-amount) (-> *FACT-bank* super-skill-inc)) (set-vector! (-> this draw color-mult) 0.8 0.8 0.0 1.0) (set-vector! (-> this draw color-emissive) 0.0 1.0 0.2 1.0) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 133) this)) + (set! (-> this part) (create-launch-control group-skill-glow-yellow this)) ) (else (set-vector! (-> this draw color-mult) 0.8 0.8 0.8 1.0) (set-vector! (-> this draw color-emissive) 0.2 0.2 0.2 1.0) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 132) this)) + (set! (-> this part) (create-launch-control group-skill-glow-red this)) ) ) 0 @@ -2417,8 +2417,8 @@ (set! (-> this notify) (the-as handle #f)) (set! (-> this root pause-adjust-distance) 204800.0) (set! (-> this fact) (new 'process 'fact-info this (pickup-type trick-point) 100.0)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 142) this)) - (set! (-> this collect-effect) (-> *part-group-id-table* 143)) + (set! (-> this part) (create-launch-control group-skate-point this)) + (set! (-> this collect-effect) group-skate-point-explode) 0 (none) ) @@ -2492,16 +2492,16 @@ (set! (-> this fact) (new 'process 'fact-info this (-> this pickup-type) (-> this pickup-amount))) (case (-> this pickup-type) (((pickup-type ammo-yellow)) - (set! (-> this collect-effect) (-> *part-group-id-table* 136)) + (set! (-> this collect-effect) group-ammo-yellow-collect) ) (((pickup-type ammo-red)) - (set! (-> this collect-effect) (-> *part-group-id-table* 137)) + (set! (-> this collect-effect) group-ammo-red-collect) ) (((pickup-type ammo-blue)) - (set! (-> this collect-effect) (-> *part-group-id-table* 138)) + (set! (-> this collect-effect) group-ammo-blue-collect) ) (((pickup-type ammo-dark)) - (set! (-> this collect-effect) (-> *part-group-id-table* 139)) + (set! (-> this collect-effect) group-ammo-dark-collect) ) ) 0 @@ -2520,7 +2520,7 @@ (the-as pair 0) ) (set-vector! (-> this root scale) 2.5 2.5 2.5 1.0) - (set! (-> this ammo-effect) (-> *part-group-id-table* 164)) + (set! (-> this ammo-effect) group-eco-yellow) ) (((pickup-type ammo-red)) (initialize-skeleton @@ -2529,7 +2529,7 @@ (the-as pair 0) ) (set-vector! (-> this root scale) 4.0 4.0 4.0 1.0) - (set! (-> this ammo-effect) (-> *part-group-id-table* 158)) + (set! (-> this ammo-effect) group-eco-red) ) (((pickup-type ammo-blue)) (initialize-skeleton @@ -2538,7 +2538,7 @@ (the-as pair 0) ) (set-vector! (-> this root scale) 4.0 4.0 4.0 1.0) - (set! (-> this ammo-effect) (-> *part-group-id-table* 154)) + (set! (-> this ammo-effect) group-eco-blue) ) (((pickup-type ammo-dark)) (initialize-skeleton @@ -2547,7 +2547,7 @@ (the-as pair 0) ) (set-vector! (-> this root scale) 3.0 3.0 3.0 1.0) - (set! (-> this ammo-effect) (-> *part-group-id-table* 129)) + (set! (-> this ammo-effect) group-eco-green) ) (((pickup-type gun-yellow-1) (pickup-type gun-yellow-2) (pickup-type gun-yellow-3)) (initialize-skeleton @@ -2594,7 +2594,7 @@ (logclear! (-> this flags) (collectable-flag fadeout)) ) (((pickup-type shield)) - (set! (-> this ammo-effect) (-> *part-group-id-table* 125)) + (set! (-> this ammo-effect) group-eco-green-pill) ) (((pickup-type trick-point)) ) diff --git a/test/decompiler/reference/jak3/engine/common-obs/crates_REF.gc b/test/decompiler/reference/jak3/engine/common-obs/crates_REF.gc index 31e1d60d44..20a35a14ce 100644 --- a/test/decompiler/reference/jak3/engine/common-obs/crates_REF.gc +++ b/test/decompiler/reference/jak3/engine/common-obs/crates_REF.gc @@ -1018,35 +1018,35 @@ (cond ((= v1-55 'darkeco) (cond - ((logtest? (-> *part-group-id-table* 197 flags) (sp-group-flag sp13)) + ((logtest? (-> group-dark-eco-box-explosion flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to self :group (-> *part-group-id-table* 197)) + (part-tracker-spawn part-tracker-subsampler :to self :group group-dark-eco-box-explosion) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 197)) + (part-tracker-spawn part-tracker :to self :group group-dark-eco-box-explosion) ) ) ) ((or (= v1-55 'steel) (= v1-55 'iron)) (cond - ((logtest? (-> *part-group-id-table* 196 flags) (sp-group-flag sp13)) + ((logtest? (-> group-crate-steel-explode flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to self :group (-> *part-group-id-table* 196)) + (part-tracker-spawn part-tracker-subsampler :to self :group group-crate-steel-explode) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 196)) + (part-tracker-spawn part-tracker :to self :group group-crate-steel-explode) ) ) ) - ((logtest? (-> *part-group-id-table* 195 flags) (sp-group-flag sp13)) + ((logtest? (-> group-crate-explode flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to self :group (-> *part-group-id-table* 195)) + (part-tracker-spawn part-tracker-subsampler :to self :group group-crate-explode) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 195)) + (part-tracker-spawn part-tracker :to self :group group-crate-explode) ) ) ) diff --git a/test/decompiler/reference/jak3/engine/common-obs/generic-obs_REF.gc b/test/decompiler/reference/jak3/engine/common-obs/generic-obs_REF.gc index 8443071ca0..bffa6ae2e4 100644 --- a/test/decompiler/reference/jak3/engine/common-obs/generic-obs_REF.gc +++ b/test/decompiler/reference/jak3/engine/common-obs/generic-obs_REF.gc @@ -3091,13 +3091,13 @@ (set! (-> this part) (create-launch-control (cond ((= v1-14 'beach) - (-> *part-group-id-table* 7) + group-beach-launcher ) ((= v1-14 'swamp) - (-> *part-group-id-table* 9) + group-swamp-launcher ) (else - (-> *part-group-id-table* 8) + group-jungle-launcher ) ) this @@ -3159,13 +3159,13 @@ (set! (-> self part) (create-launch-control (cond ((= v1-18 'beach) - (-> *part-group-id-table* 7) + group-beach-launcher ) ((= v1-18 'swamp) - (-> *part-group-id-table* 9) + group-swamp-launcher ) (else - (-> *part-group-id-table* 8) + group-jungle-launcher ) ) self diff --git a/test/decompiler/reference/jak3/engine/common-obs/guard-projectile_REF.gc b/test/decompiler/reference/jak3/engine/common-obs/guard-projectile_REF.gc index f10943efbe..a96ff4cda2 100644 --- a/test/decompiler/reference/jak3/engine/common-obs/guard-projectile_REF.gc +++ b/test/decompiler/reference/jak3/engine/common-obs/guard-projectile_REF.gc @@ -414,23 +414,23 @@ (cond ((-> this hit-actor?) (cond - ((logtest? (-> *part-group-id-table* 211 flags) (sp-group-flag sp13)) + ((logtest? (-> group-guard-shot-hit-object flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) v1-1) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 211)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-guard-shot-hit-object) ) (else (vector-copy! (-> *launch-matrix* trans) v1-1) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 211)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-guard-shot-hit-object) ) ) ) - ((logtest? (-> *part-group-id-table* 212 flags) (sp-group-flag sp13)) + ((logtest? (-> group-guard-shot-hit flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) v1-1) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 212)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-guard-shot-hit) ) (else (vector-copy! (-> *launch-matrix* trans) v1-1) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 212)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-guard-shot-hit) ) ) ) diff --git a/test/decompiler/reference/jak3/engine/common-obs/metalhead-projectile_REF.gc b/test/decompiler/reference/jak3/engine/common-obs/metalhead-projectile_REF.gc index 68a265ca44..fa1267eb27 100644 --- a/test/decompiler/reference/jak3/engine/common-obs/metalhead-projectile_REF.gc +++ b/test/decompiler/reference/jak3/engine/common-obs/metalhead-projectile_REF.gc @@ -406,13 +406,13 @@ (vector-copy! v1-2 (-> gp-0 trans)) (vector+! v1-2 v1-2 a0-3) (cond - ((logtest? (-> *part-group-id-table* 214 flags) (sp-group-flag sp13)) + ((logtest? (-> group-metalhead-shot-hit flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) v1-2) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 214)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-metalhead-shot-hit) ) (else (vector-copy! (-> *launch-matrix* trans) v1-2) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 214)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-metalhead-shot-hit) ) ) ) @@ -683,13 +683,13 @@ ;; WARN: Return type mismatch int vs none. (defmethod projectile-method-26 ((this metalhead-grenade-shot)) (cond - ((logtest? (-> *part-group-id-table* 104 flags) (sp-group-flag sp13)) + ((logtest? (-> group-gun-dark-shot-hit flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> this root trans)) - (part-tracker-spawn part-tracker-subsampler :to this :group (-> *part-group-id-table* 104)) + (part-tracker-spawn part-tracker-subsampler :to this :group group-gun-dark-shot-hit) ) (else (vector-copy! (-> *launch-matrix* trans) (-> this root trans)) - (part-tracker-spawn part-tracker :to this :group (-> *part-group-id-table* 104)) + (part-tracker-spawn part-tracker :to this :group group-gun-dark-shot-hit) ) ) 0 @@ -904,7 +904,7 @@ (let ((f0-5 1092.2667)) (quaternion-axis-angle! (-> this tumble-quat) 1.0 0.0 0.0 f0-5) ) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 216) this)) + (set! (-> this part) (create-launch-control group-metalhead-grenade-shot this)) (set! (-> this sound-id) (new-sound-id)) (none) ) diff --git a/test/decompiler/reference/jak3/engine/common-obs/vent_REF.gc b/test/decompiler/reference/jak3/engine/common-obs/vent_REF.gc index 01b58c5393..4704bb0f42 100644 --- a/test/decompiler/reference/jak3/engine/common-obs/vent_REF.gc +++ b/test/decompiler/reference/jak3/engine/common-obs/vent_REF.gc @@ -69,21 +69,21 @@ (set! (-> this block-func) (the-as (function vent symbol) true-func)) (case (-> this fact pickup-type) (((pickup-type eco-blue)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 156) this)) - (set! (-> this collect-effect) (-> *part-group-id-table* 169)) - (set! (-> this collect-effect2) (-> *part-group-id-table* 155)) + (set! (-> this part) (create-launch-control group-part-vent-blue-active this)) + (set! (-> this collect-effect) group-blue-collect) + (set! (-> this collect-effect2) group-eco-blue-collect) (set! (-> this sound) (new 'process 'ambient-sound "eco-bg-blue" (-> this root trans) 0.0)) ) (((pickup-type eco-red)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 160) this)) - (set! (-> this collect-effect) (-> *part-group-id-table* 171)) - (set! (-> this collect-effect2) (-> *part-group-id-table* 159)) + (set! (-> this part) (create-launch-control group-part-vent-red-active this)) + (set! (-> this collect-effect) group-red-collect) + (set! (-> this collect-effect2) group-eco-red-collect) (set! (-> this sound) (new 'process 'ambient-sound "eco-bg-red" (-> this root trans) 0.0)) ) (((pickup-type eco-green) (pickup-type health)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 148) this)) - (set! (-> this collect-effect) (-> *part-group-id-table* 141)) - (set! (-> this collect-effect2) (-> *part-group-id-table* 124)) + (set! (-> this part) (create-launch-control group-part-vent-green-active this)) + (set! (-> this collect-effect) group-green-collect) + (set! (-> this collect-effect2) group-eco-green-collect) (case (-> this fact pickup-type) (((pickup-type eco-green)) (set! (-> this sound) (new 'process 'ambient-sound "eco-loop" (-> this root trans) 0.0)) @@ -94,9 +94,9 @@ ) ) (((pickup-type eco-yellow)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 162) this)) - (set! (-> this collect-effect) (-> *part-group-id-table* 170)) - (set! (-> this collect-effect2) (-> *part-group-id-table* 165)) + (set! (-> this part) (create-launch-control group-part-vent-yellow-active this)) + (set! (-> this collect-effect) group-yellow-collect) + (set! (-> this collect-effect2) group-eco-yellow-collect) (set! (-> this sound) (new 'process 'ambient-sound "eco-bg-yellow" (-> this root trans) 0.0)) ) ) @@ -505,8 +505,8 @@ (the-as pair 0) ) (logclear! (-> this mask) (process-mask actor-pause)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 144) this)) - (set! (-> this part2) (create-launch-control (-> *part-group-id-table* 145) this)) + (set! (-> this part) (create-launch-control group-part-vent-light-active this)) + (set! (-> this part2) (create-launch-control group-part-vent-light-touched this)) (set! (-> this sound) (new 'process 'ambient-sound "eco-bg-light" (-> this root trans) 0.0)) (set-falloff-far! (-> this sound) 81920.0) (set-falloff-mode! (-> this sound) 9) @@ -731,8 +731,8 @@ (the-as skeleton-group (art-group-get-by-name *level* "skel-dark-eco-vent" (the-as (pointer level) #f))) (the-as pair 0) ) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 146) this)) - (set! (-> this part2) (create-launch-control (-> *part-group-id-table* 147) this)) + (set! (-> this part) (create-launch-control group-part-vent-dark-active this)) + (set! (-> this part2) (create-launch-control group-part-vent-dark-touched this)) (set! (-> this sound) (new 'process 'ambient-sound "eco-bg-dark" (-> this root trans) 0.0)) (set-falloff-far! (-> this sound) 81920.0) (set-falloff-mode! (-> this sound) 9) diff --git a/test/decompiler/reference/jak3/engine/common-obs/voicebox_REF.gc b/test/decompiler/reference/jak3/engine/common-obs/voicebox_REF.gc index fc81f2c2d6..1819229da1 100644 --- a/test/decompiler/reference/jak3/engine/common-obs/voicebox_REF.gc +++ b/test/decompiler/reference/jak3/engine/common-obs/voicebox_REF.gc @@ -326,7 +326,7 @@ (set! (-> this blend) 1.0) (set! (-> this draw light-index) (the-as uint 30)) (set! (-> this speak-effect?) #f) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 122) this)) + (set! (-> this part) (create-launch-control group-talkbox-speak this)) (none) ) diff --git a/test/decompiler/reference/jak3/engine/common-obs/warp-gate_REF.gc b/test/decompiler/reference/jak3/engine/common-obs/warp-gate_REF.gc index 81862b5fbb..05ca80deaa 100644 --- a/test/decompiler/reference/jak3/engine/common-obs/warp-gate_REF.gc +++ b/test/decompiler/reference/jak3/engine/common-obs/warp-gate_REF.gc @@ -774,7 +774,7 @@ (set! (-> this wait-for) #f) (set! (-> this continue) #f) (set! (-> this on-close) #f) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 202) this)) + (set! (-> this part) (create-launch-control group-warpgate this)) (vector-copy! (-> this center) (-> this root trans)) (+! (-> this center y) 13516.8) (set! (-> this sound) @@ -1239,9 +1239,9 @@ ) ) ) - (set! (-> this part-exhaust-left) (create-launch-control (-> *part-group-id-table* 206) this)) - (set! (-> this part-exhaust-right) (create-launch-control (-> *part-group-id-table* 206) this)) - (set! (-> this part-dust) (create-launch-control (-> *part-group-id-table* 204) this)) + (set! (-> this part-exhaust-left) (create-launch-control group-airtrain-thruster-off this)) + (set! (-> this part-exhaust-right) (create-launch-control group-airtrain-thruster-off this)) + (set! (-> this part-dust) (create-launch-control group-airtrain-dust-hover this)) (set! (-> this root pause-adjust-distance) 368640.0) (set! (-> this hover-sound) (sound-play "air-train")) (none) diff --git a/test/decompiler/reference/jak3/engine/common-obs/water_REF.gc b/test/decompiler/reference/jak3/engine/common-obs/water_REF.gc index 50816c6a77..ac2de92487 100644 --- a/test/decompiler/reference/jak3/engine/common-obs/water_REF.gc +++ b/test/decompiler/reference/jak3/engine/common-obs/water_REF.gc @@ -750,8 +750,8 @@ (defun splash-spawn ((arg0 float) (arg1 vector) (arg2 int)) (cond ((logtest? (-> (if (zero? arg2) - (-> *part-group-id-table* 193) - (-> *part-group-id-table* 192) + group-part-water-splash-small + group-part-water-splash ) flags ) @@ -762,8 +762,8 @@ part-tracker-subsampler :to *entity-pool* :group (if (zero? arg2) - (-> *part-group-id-table* 193) - (-> *part-group-id-table* 192) + group-part-water-splash-small + group-part-water-splash ) :callback (the-as (function part-tracker vector) part-water-splash-callback) :userdata (the-as uint arg0) @@ -775,8 +775,8 @@ part-tracker :to *entity-pool* :group (if (zero? arg2) - (-> *part-group-id-table* 193) - (-> *part-group-id-table* 192) + group-part-water-splash-small + group-part-water-splash ) :callback (the-as (function part-tracker vector) part-water-splash-callback) :userdata (the-as uint arg0) diff --git a/test/decompiler/reference/jak3/engine/game/task/task-arrow_REF.gc b/test/decompiler/reference/jak3/engine/game/task/task-arrow_REF.gc index 25fd805db5..b5681367fb 100644 --- a/test/decompiler/reference/jak3/engine/game/task/task-arrow_REF.gc +++ b/test/decompiler/reference/jak3/engine/game/task/task-arrow_REF.gc @@ -429,7 +429,7 @@ (if (not (logtest? (-> self flags) (task-arrow-flags taf5))) (set! (-> self minimap) (add-icon! *minimap* self (-> arg0 map-icon) (the-as int #f) (the-as vector #t) 0)) ) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 123) self)) + (set! (-> self part) (create-launch-control group-rod-of-god self)) (initialize-skeleton self (the-as skeleton-group (art-group-get-by-name *level* "skel-rod-of-god" (the-as (pointer level) #f))) diff --git a/test/decompiler/reference/jak3/engine/target/board/board-states_REF.gc b/test/decompiler/reference/jak3/engine/target/board/board-states_REF.gc index c40bcd3e83..45a32490a6 100644 --- a/test/decompiler/reference/jak3/engine/target/board/board-states_REF.gc +++ b/test/decompiler/reference/jak3/engine/target/board/board-states_REF.gc @@ -432,13 +432,13 @@ (vector-copy! gp-2 (-> self control trans)) (+! (-> gp-2 y) 2048.0) (cond - ((logtest? (-> *part-group-id-table* 189 flags) (sp-group-flag sp13)) + ((logtest? (-> group-board-land-straight flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) gp-2) - (part-tracker-spawn part-tracker-subsampler :to self :group (-> *part-group-id-table* 189)) + (part-tracker-spawn part-tracker-subsampler :to self :group group-board-land-straight) ) (else (vector-copy! (-> *launch-matrix* trans) gp-2) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 189)) + (part-tracker-spawn part-tracker :to self :group group-board-land-straight) ) ) (let ((s5-3 (process-spawn @@ -858,17 +858,17 @@ ) (sound-play "board-launch") (when (!= (-> self board charge-progress) 0.0) - (if (logtest? (-> *part-group-id-table* 191 flags) (sp-group-flag sp13)) + (if (logtest? (-> group-board-launch flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to self - :group (-> *part-group-id-table* 191) + :group group-board-launch :mat-joint (-> self node-list data 0 bone transform) ) (part-tracker-spawn part-tracker :to self - :group (-> *part-group-id-table* 191) + :group group-board-launch :mat-joint (-> self node-list data 0 bone transform) ) ) @@ -970,17 +970,17 @@ (when (and (cpad-hold? (-> self control cpad number) l1) (!= (-> self board charge-progress) 0.0)) (+! f30-0 (* (-> self board charge-progress) (-> *TARGET_BOARD-bank* charge-jump-height))) (sound-play "board-launch") - (if (logtest? (-> *part-group-id-table* 191 flags) (sp-group-flag sp13)) + (if (logtest? (-> group-board-launch flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to self - :group (-> *part-group-id-table* 191) + :group group-board-launch :mat-joint (-> self node-list data 0 bone transform) ) (part-tracker-spawn part-tracker :to self - :group (-> *part-group-id-table* 191) + :group group-board-launch :mat-joint (-> self node-list data 0 bone transform) ) ) @@ -996,13 +996,13 @@ (vector-copy! s3-5 (-> self control trans)) (+! (-> s3-5 y) 2048.0) (cond - ((logtest? (-> *part-group-id-table* 190 flags) (sp-group-flag sp13)) + ((logtest? (-> group-board-quick-jump flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) s3-5) - (part-tracker-spawn part-tracker-subsampler :to self :group (-> *part-group-id-table* 190)) + (part-tracker-spawn part-tracker-subsampler :to self :group group-board-quick-jump) ) (else (vector-copy! (-> *launch-matrix* trans) s3-5) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 190)) + (part-tracker-spawn part-tracker :to self :group group-board-quick-jump) ) ) (let* ((s1-1 (get-process *default-dead-pool* manipy #x20000 1)) diff --git a/test/decompiler/reference/jak3/engine/target/board/target-board_REF.gc b/test/decompiler/reference/jak3/engine/target/board/target-board_REF.gc index 819493ecf8..f14ef4d7c5 100644 --- a/test/decompiler/reference/jak3/engine/target/board/target-board_REF.gc +++ b/test/decompiler/reference/jak3/engine/target/board/target-board_REF.gc @@ -658,15 +658,15 @@ ) (case (-> self control danger-mode) (('board-spin) - (if (logtest? (-> *part-group-id-table* 184 flags) (sp-group-flag sp13)) + (if (logtest? (-> group-board-spin-attack flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to self - :group (-> *part-group-id-table* 184) + :group group-board-spin-attack :target self :mat-joint 37 ) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 184) :target self :mat-joint 37) + (part-tracker-spawn part-tracker :to self :group group-board-spin-attack :target self :mat-joint 37) ) ) ) @@ -857,10 +857,10 @@ (set! (-> self board upper-body) (new 'process 'joint-mod (joint-mod-mode flex-blend) self 5)) ) (if (zero? (-> self board effect-part)) - (set! (-> self board effect-part) (create-launch-control (-> *part-group-id-table* 185) self)) + (set! (-> self board effect-part) (create-launch-control group-target-board self)) ) (if (zero? (-> self board charge-part)) - (set! (-> self board charge-part) (create-launch-control (-> *part-group-id-table* 186) self)) + (set! (-> self board charge-part) (create-launch-control group-target-board-duck-charge self)) ) (mode-set! (-> self board main) (joint-mod-mode flex-blend)) (mode-set! (-> self board upper-body) (joint-mod-mode flex-blend)) @@ -1541,13 +1541,13 @@ (set! (-> self board shock-offset) -3072.0) (set! (-> self board shock-offsetv) 0.0) (cond - ((logtest? (-> *part-group-id-table* 23 flags) (sp-group-flag sp13)) + ((logtest? (-> group-land-poof-stn flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self control trans)) - (part-tracker-spawn part-tracker-subsampler :to self :group (-> *part-group-id-table* 23)) + (part-tracker-spawn part-tracker-subsampler :to self :group group-land-poof-stn) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self control trans)) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 23)) + (part-tracker-spawn part-tracker :to self :group group-land-poof-stn) ) ) ) @@ -2212,30 +2212,24 @@ (focus-test? self board) (< 0.0 (-> self fact eco-green)) ) - (if (logtest? (-> *part-group-id-table* 187 flags) (sp-group-flag sp13)) + (if (logtest? (-> group-board-green-eco-zap-attack flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to self - :group (-> *part-group-id-table* 187) + :group group-board-green-eco-zap-attack :target self :mat-joint 37 ) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 187) :target self :mat-joint 37) + (part-tracker-spawn part-tracker :to self :group group-board-green-eco-zap-attack :target self :mat-joint 37) ) (target-board-green-eco-attack #t) (target-board-green-eco-use 5.0) ) - ((logtest? (-> *part-group-id-table* 188 flags) (sp-group-flag sp13)) - (part-tracker-spawn - part-tracker-subsampler - :to self - :group (-> *part-group-id-table* 188) - :target self - :mat-joint 37 - ) + ((logtest? (-> group-board-zap-attack flags) (sp-group-flag sp13)) + (part-tracker-spawn part-tracker-subsampler :to self :group group-board-zap-attack :target self :mat-joint 37) ) (else - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 188) :target self :mat-joint 37) + (part-tracker-spawn part-tracker :to self :group group-board-zap-attack :target self :mat-joint 37) ) ) (target-timed-invulnerable (-> *TARGET_BOARD-bank* zap-duration) self 2) diff --git a/test/decompiler/reference/jak3/engine/target/flut/target-flut_REF.gc b/test/decompiler/reference/jak3/engine/target/flut/target-flut_REF.gc index cd3e8d64d9..eabd7b3c34 100644 --- a/test/decompiler/reference/jak3/engine/target/flut/target-flut_REF.gc +++ b/test/decompiler/reference/jak3/engine/target/flut/target-flut_REF.gc @@ -2726,13 +2726,13 @@ (sound-play "death-melt") (pickup-collectable! (-> self fact) (pickup-type health) -1000.0 (the-as handle #f)) (cond - ((logtest? (-> *part-group-id-table* 64 flags) (sp-group-flag sp13)) + ((logtest? (-> group-lava-death flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self control trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 64)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-lava-death) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self control trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 64)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-lava-death) ) ) (set! (-> s5-0 angle) 'lava) @@ -2925,13 +2925,13 @@ (('dark-eco-pool) (sound-play "death-darkeco") (cond - ((logtest? (-> *part-group-id-table* 62 flags) (sp-group-flag sp13)) + ((logtest? (-> group-dark-eco-death flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self control trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 62)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-dark-eco-death) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self control trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 62)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-dark-eco-death) ) ) (let ((v1-93 (-> self control root-prim))) @@ -2948,13 +2948,13 @@ (('lava 'melt 'fry 'slime) (sound-play "death-melt") (cond - ((logtest? (-> *part-group-id-table* 64 flags) (sp-group-flag sp13)) + ((logtest? (-> group-lava-death flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self control trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 64)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-lava-death) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self control trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 64)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-lava-death) ) ) (let ((v1-137 (-> self control root-prim))) diff --git a/test/decompiler/reference/jak3/engine/target/gun/gun-blue-shot_REF.gc b/test/decompiler/reference/jak3/engine/target/gun/gun-blue-shot_REF.gc index 6c66fd0319..d7c6aef8c8 100644 --- a/test/decompiler/reference/jak3/engine/target/gun/gun-blue-shot_REF.gc +++ b/test/decompiler/reference/jak3/engine/target/gun/gun-blue-shot_REF.gc @@ -1918,7 +1918,7 @@ (init! (-> self lt-array 5) 12 5 *blue-light-test-big*) (set! (-> self revolve-angle) 0.0) (set! (-> self sway-angle) 0.0) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 107) self)) + (set! (-> self part) (create-launch-control group-gun-blue-2-muzzle-flare self)) (set! (-> self last-spark-time) 0) (set! (-> self spark-time-interval) 0) (set! (-> self snd-lightning) (new-sound-id)) @@ -2826,13 +2826,13 @@ ) ) (let ((v1-24 (cond - ((logtest? (-> *part-group-id-table* 90 flags) (sp-group-flag sp13)) + ((logtest? (-> group-gun-blue-shot-hit flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> this root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 90)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-gun-blue-shot-hit) ) (else (vector-copy! (-> *launch-matrix* trans) (-> this root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 90)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-gun-blue-shot-hit) ) ) ) @@ -3057,18 +3057,17 @@ (set! (-> a0-2 quad) (-> this root trans quad)) (set! (-> a0-2 r) 4096.0) (when (s5-0 a0-2) - (let ((v1-11 - (cond - ((logtest? (-> *part-group-id-table* 108 flags) (sp-group-flag sp13)) - (vector-copy! (-> *launch-matrix* trans) (-> this root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 108)) - ) - (else - (vector-copy! (-> *launch-matrix* trans) (-> this root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 108)) - ) - ) - ) + (let ((v1-11 (cond + ((logtest? (-> group-gun-blue3-shot-impact flags) (sp-group-flag sp13)) + (vector-copy! (-> *launch-matrix* trans) (-> this root trans)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-gun-blue3-shot-impact) + ) + (else + (vector-copy! (-> *launch-matrix* trans) (-> this root trans)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-gun-blue3-shot-impact) + ) + ) + ) ) (send-event (ppointer->process v1-11) 'clock this) ) diff --git a/test/decompiler/reference/jak3/engine/target/gun/gun-dark-shot_REF.gc b/test/decompiler/reference/jak3/engine/target/gun/gun-dark-shot_REF.gc index 3d9c1b33e6..024fcd0d02 100644 --- a/test/decompiler/reference/jak3/engine/target/gun/gun-dark-shot_REF.gc +++ b/test/decompiler/reference/jak3/engine/target/gun/gun-dark-shot_REF.gc @@ -537,7 +537,7 @@ (new 'process 'prim-strip 4 (new 'static 'texture-id :index #x1f :page #x5) (the-as string #f)) ) (set! (-> this played-trail?) #f) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 112) this)) + (set! (-> this part) (create-launch-control group-gun-dark3-missile-trail this)) pp (set! (-> this smoke-trail) (new 'process 'sparticle-subsampler *sp-particle-system-2d* (-> *part-id-table* 388) 8.0) @@ -839,13 +839,13 @@ ) (+! (-> v1-2 y) 409.6) (let ((v1-5 (cond - ((logtest? (-> *part-group-id-table* 115 flags) (sp-group-flag sp13)) + ((logtest? (-> group-gun3-dark-scorched-earth flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) v1-2) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 115)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-gun3-dark-scorched-earth) ) (else (vector-copy! (-> *launch-matrix* trans) v1-2) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 115)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-gun3-dark-scorched-earth) ) ) ) @@ -1013,7 +1013,7 @@ (quaternion-identity! (-> gp-0 spawn-quat)) (set! (-> gp-0 radius) 0.0) (set! (-> gp-0 scale) 1.0) - (set! (-> gp-0 group) (-> *part-group-id-table* 104)) + (set! (-> gp-0 group) group-gun-dark-shot-hit) (set! (-> gp-0 collide-with) (collide-spec)) (set! (-> gp-0 damage) 2.0) (set! (-> gp-0 damage-scale) 1.0) @@ -1191,18 +1191,17 @@ (do-camera-shake self) ) (when (not (-> self spawned-mushroom-cloud?)) - (let ((v1-23 - (cond - ((logtest? (-> *part-group-id-table* 114 flags) (sp-group-flag sp13)) - (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 114)) - ) - (else - (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 114)) - ) - ) - ) + (let ((v1-23 (cond + ((logtest? (-> group-gun-dark3-small flags) (sp-group-flag sp13)) + (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-gun-dark3-small) + ) + (else + (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-gun-dark3-small) + ) + ) + ) ) (send-event (ppointer->process v1-23) 'clock self) ) @@ -1373,33 +1372,31 @@ (set! (-> self strip num-verts) (the-as uint 0)) (when (time-elapsed? (-> self state-time) (seconds 0.035)) (when (not (-> self spawned-mushroom-cloud?)) - (let ((v1-30 - (cond - ((logtest? (-> *part-group-id-table* 110 flags) (sp-group-flag sp13)) - (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 110)) - ) - (else - (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 110)) - ) - ) - ) + (let ((v1-30 (cond + ((logtest? (-> group-gun-dark3-stalk flags) (sp-group-flag sp13)) + (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-gun-dark3-stalk) + ) + (else + (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-gun-dark3-stalk) + ) + ) + ) ) (send-event (ppointer->process v1-30) 'clock self) ) - (let ((v1-61 - (cond - ((logtest? (-> *part-group-id-table* 111 flags) (sp-group-flag sp13)) - (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 111)) - ) - (else - (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 111)) - ) - ) - ) + (let ((v1-61 (cond + ((logtest? (-> group-gun-dark3-ring flags) (sp-group-flag sp13)) + (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-gun-dark3-ring) + ) + (else + (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-gun-dark3-ring) + ) + ) + ) ) (send-event (ppointer->process v1-61) 'clock self) ) @@ -1596,7 +1593,7 @@ (+! (-> *game-info* shots-fired 3) 1.0) (set! (-> this attack-mode) 'eco-dark) (vector-normalize! (-> this root transv) (+ 225280.0 (* 225280.0 (-> this charge-level)))) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 94) this)) + (set! (-> this part) (create-launch-control group-gun-dark-shot-trail this)) (set! (-> this blast-radius) 40960.0) (if (logtest? (game-secrets gun-upgrade-dark-1) (-> *game-info* secrets)) (set! (-> this blast-radius) 81920.0) @@ -1760,13 +1757,13 @@ ) (set-time! (-> self state-time)) (let ((v1-35 (cond - ((logtest? (-> *part-group-id-table* 92 flags) (sp-group-flag sp13)) + ((logtest? (-> group-gun-dark-shot-fired flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 92)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-gun-dark-shot-fired) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 92)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-gun-dark-shot-fired) ) ) ) @@ -2102,13 +2099,13 @@ ) 0 (cond - ((logtest? (-> *part-group-id-table* 93 flags) (sp-group-flag sp13)) + ((logtest? (-> group-jak-peacemaker-shot-hit flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 93)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-jak-peacemaker-shot-hit) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 93)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-jak-peacemaker-shot-hit) ) ) (let ((s4-0 (new 'stack-no-clear 'vector))) @@ -3598,7 +3595,7 @@ (vector-copy! (-> self start-pos) arg0) (set! (-> self ring-closest) (the-as handle #f)) (set! (-> self ring-furthest) (the-as handle #f)) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 118) self)) + (set! (-> self part) (create-launch-control group-gravity-gun-rise self)) (set! (-> self gravity-sound) (new-sound-id)) (go-virtual expand) ) @@ -3866,13 +3863,13 @@ (defbehavior gun-fire-dark-2 target () (set-last-fire-time 36) (cond - ((logtest? (-> *part-group-id-table* 120 flags) (sp-group-flag sp13)) + ((logtest? (-> group-gravity-gun-muzzle flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self gun fire-point)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 120)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-gravity-gun-muzzle) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self gun fire-point)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 120)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-gravity-gun-muzzle) ) ) (process-spawn diff --git a/test/decompiler/reference/jak3/engine/target/gun/gun-red-shot_REF.gc b/test/decompiler/reference/jak3/engine/target/gun/gun-red-shot_REF.gc index 81639115bc..5291b30ddc 100644 --- a/test/decompiler/reference/jak3/engine/target/gun/gun-red-shot_REF.gc +++ b/test/decompiler/reference/jak3/engine/target/gun/gun-red-shot_REF.gc @@ -166,7 +166,7 @@ (set! (-> v1-6 attack-id) a0-9) (set! (-> this attack-id) a0-9) ) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 87) this)) + (set! (-> this part) (create-launch-control group-gun-red3-shot-glow this)) (set! (-> this blast-radius) 81920.0) (set! (-> this max-speed) 327680.0) (set! (-> this timeout) (seconds 3)) @@ -677,12 +677,12 @@ (set! (-> self start-pilot?) (the-as symbol (and *target* (focus-test? *target* pilot)))) (set! (-> self charge-part-tracker) (ppointer->handle (cond - ((logtest? (-> *part-group-id-table* 109 flags) (sp-group-flag sp13)) + ((logtest? (-> group-red-2-charge flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self origin)) (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 109) + :group group-red-2-charge :callback (the-as (function part-tracker vector) part-tracker-move-to-target-gun) ) ) @@ -691,7 +691,7 @@ (part-tracker-spawn part-tracker :to *entity-pool* - :group (-> *part-group-id-table* 109) + :group group-red-2-charge :callback (the-as (function part-tracker vector) part-tracker-move-to-target-gun) ) ) @@ -1028,14 +1028,14 @@ ) (vector+! (-> gp-0 trans) (-> s4-0 collision-pt) s5-0) (let ((v1-14 - (if (logtest? (-> *part-group-id-table* 89 flags) (sp-group-flag sp13)) + (if (logtest? (-> group-gun-red-3-scorched-earth flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 89) + :group group-gun-red-3-scorched-earth :mat-joint gp-0 ) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 89) :mat-joint gp-0) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-gun-red-3-scorched-earth :mat-joint gp-0) ) ) ) @@ -1887,13 +1887,13 @@ (set! (-> sv-20 y) (fmax 0.3 (-> sv-20 y))) (vector-normalize! sv-20 1.0) (let ((v1-17 (cond - ((logtest? (-> *part-group-id-table* 86 flags) (sp-group-flag sp13)) + ((logtest? (-> group-gun-red3-shot-fired flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> sv-16 fire-point)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 86)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-gun-red3-shot-fired) ) (else (vector-copy! (-> *launch-matrix* trans) (-> sv-16 fire-point)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 86)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-gun-red3-shot-fired) ) ) ) @@ -2097,7 +2097,7 @@ (quaternion-identity! (-> gp-0 spawn-quat)) (set! (-> gp-0 radius) 0.0) (set! (-> gp-0 scale) 1.0) - (set! (-> gp-0 group) (-> *part-group-id-table* 104)) + (set! (-> gp-0 group) group-gun-dark-shot-hit) (set! (-> gp-0 collide-with) (collide-spec)) (set! (-> gp-0 damage) 2.0) (set! (-> gp-0 damage-scale) 1.0) @@ -2157,13 +2157,13 @@ ) ) (cond - ((logtest? (-> *part-group-id-table* 88 flags) (sp-group-flag sp13)) + ((logtest? (-> group-gun-red3-shot-explode flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 88)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-gun-red3-shot-explode) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 88)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-gun-red3-shot-explode) ) ) (logior! (-> self draw status) (draw-control-status no-draw)) @@ -2748,13 +2748,13 @@ (setup-probes self) (cpad-set-buzz! (-> *cpad-list* cpads 0) 1 204 (seconds 0.1)) (let ((v1-39 (cond - ((logtest? (-> *part-group-id-table* 84 flags) (sp-group-flag sp13)) + ((logtest? (-> group-gun-red-shot-fired flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self start-pos)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 84)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-gun-red-shot-fired) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self start-pos)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 84)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-gun-red-shot-fired) ) ) ) diff --git a/test/decompiler/reference/jak3/engine/target/gun/gun-yellow-shot_REF.gc b/test/decompiler/reference/jak3/engine/target/gun/gun-yellow-shot_REF.gc index 307b86b0df..f8f82afcb8 100644 --- a/test/decompiler/reference/jak3/engine/target/gun/gun-yellow-shot_REF.gc +++ b/test/decompiler/reference/jak3/engine/target/gun/gun-yellow-shot_REF.gc @@ -524,7 +524,7 @@ (set! (-> this move) projectile-move-fill-line-sphere) (set! (-> this total-float-time) (seconds 0.05)) (quaternion-identity! (-> this root quat)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 95) this)) + (set! (-> this part) (create-launch-control group-gun-yellow-saucer-lights this)) (set! (-> this asleep?) #t) (set! (-> this firing?) #f) (set! (-> this first-fire-time) 0) @@ -691,13 +691,13 @@ :enter (behavior () (set-time! (-> self state-time)) (cond - ((logtest? (-> *part-group-id-table* 97 flags) (sp-group-flag sp13)) + ((logtest? (-> group-gun-yellow-saucer-fizz flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 97)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-gun-yellow-saucer-fizz) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 97)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-gun-yellow-saucer-fizz) ) ) (let ((gp-2 sound-play-by-name) @@ -720,19 +720,22 @@ (the-as vector a3-4) ) (vector-copy! (-> gp-3 trans) (-> self root trans)) - (let ((gp-4 - (ppointer->handle - (if (logtest? (-> *part-group-id-table* 96 flags) (sp-group-flag sp13)) - (part-tracker-spawn - part-tracker-subsampler - :to (-> self parent 0) - :group (-> *part-group-id-table* 96) - :mat-joint gp-3 - ) - (part-tracker-spawn part-tracker :to (-> self parent 0) :group (-> *part-group-id-table* 96) :mat-joint gp-3) - ) - ) - ) + (let ((gp-4 (ppointer->handle (if (logtest? (-> group-gun-yellow-saucer-lights-dark flags) (sp-group-flag sp13)) + (part-tracker-spawn + part-tracker-subsampler + :to (-> self parent 0) + :group group-gun-yellow-saucer-lights-dark + :mat-joint gp-3 + ) + (part-tracker-spawn + part-tracker + :to (-> self parent 0) + :group group-gun-yellow-saucer-lights-dark + :mat-joint gp-3 + ) + ) + ) + ) ) (process-spawn-function process @@ -841,7 +844,7 @@ (quaternion-identity! (-> gp-0 spawn-quat)) (set! (-> gp-0 radius) 0.0) (set! (-> gp-0 scale) 1.0) - (set! (-> gp-0 group) (-> *part-group-id-table* 104)) + (set! (-> gp-0 group) group-gun-dark-shot-hit) (set! (-> gp-0 collide-with) (collide-spec)) (set! (-> gp-0 damage) 2.0) (set! (-> gp-0 damage-scale) 1.0) @@ -1105,14 +1108,14 @@ (matrix-f-compose s5-1 s4-1) (vector-copy! (-> s5-1 trans) (-> gp-0 fire-point)) (let ((v1-62 - (if (logtest? (-> *part-group-id-table* 100 flags) (sp-group-flag sp13)) + (if (logtest? (-> group-gun-yellow3-muzzle-smoke flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 100) + :group group-gun-yellow3-muzzle-smoke :mat-joint s5-1 ) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 100) :mat-joint s5-1) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-gun-yellow3-muzzle-smoke :mat-joint s5-1) ) ) ) @@ -1328,23 +1331,23 @@ (cond ((-> this hit-actor?) (cond - ((logtest? (-> *part-group-id-table* 102 flags) (sp-group-flag sp13)) + ((logtest? (-> group-gun-yellow-shot-hit-object flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> this root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 102)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-gun-yellow-shot-hit-object) ) (else (vector-copy! (-> *launch-matrix* trans) (-> this root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 102)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-gun-yellow-shot-hit-object) ) ) ) - ((logtest? (-> *part-group-id-table* 101 flags) (sp-group-flag sp13)) + ((logtest? (-> group-gun-yellow-shot-hit flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> this root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 101)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-gun-yellow-shot-hit) ) (else (vector-copy! (-> *launch-matrix* trans) (-> this root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 101)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-gun-yellow-shot-hit) ) ) ) @@ -1965,13 +1968,13 @@ (set! (-> this damage) 1.0) ) (cond - ((logtest? (-> *part-group-id-table* 102 flags) (sp-group-flag sp13)) + ((logtest? (-> group-gun-yellow-shot-hit-object flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> this root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 102)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-gun-yellow-shot-hit-object) ) (else (vector-copy! (-> *launch-matrix* trans) (-> this root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 102)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-gun-yellow-shot-hit-object) ) ) (let ((v0-0 (+ (-> this max-actor-deflect-count) -1))) @@ -2256,23 +2259,23 @@ (cond ((-> this hit-actor?) (cond - ((logtest? (-> *part-group-id-table* 99 flags) (sp-group-flag sp13)) + ((logtest? (-> group-gun-yellow-shot-hit-object-3 flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> this root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 99)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-gun-yellow-shot-hit-object-3) ) (else (vector-copy! (-> *launch-matrix* trans) (-> this root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 99)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-gun-yellow-shot-hit-object-3) ) ) ) - ((logtest? (-> *part-group-id-table* 98 flags) (sp-group-flag sp13)) + ((logtest? (-> group-gun-yellow-shot-hit-3 flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> this root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 98)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-gun-yellow-shot-hit-3) ) (else (vector-copy! (-> *launch-matrix* trans) (-> this root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 98)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-gun-yellow-shot-hit-3) ) ) ) diff --git a/test/decompiler/reference/jak3/engine/target/indax/target-indax_REF.gc b/test/decompiler/reference/jak3/engine/target/indax/target-indax_REF.gc index 2870a1df98..cc85ccfa45 100644 --- a/test/decompiler/reference/jak3/engine/target/indax/target-indax_REF.gc +++ b/test/decompiler/reference/jak3/engine/target/indax/target-indax_REF.gc @@ -1803,13 +1803,13 @@ ((or (= arg0 'lava) (= arg0 'melt) (= arg0 'fry) (= arg0 'slime)) (sound-play "death-melt") (cond - ((logtest? (-> *part-group-id-table* 233 flags) (sp-group-flag sp13)) + ((logtest? (-> group-indax-lava-death flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self control trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 233)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-indax-lava-death) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self control trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 233)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-indax-lava-death) ) ) (let ((v1-266 (-> self control root-prim))) diff --git a/test/decompiler/reference/jak3/engine/target/mech/mech-states_REF.gc b/test/decompiler/reference/jak3/engine/target/mech/mech-states_REF.gc index 941c4bcdf0..69a88d75af 100644 --- a/test/decompiler/reference/jak3/engine/target/mech/mech-states_REF.gc +++ b/test/decompiler/reference/jak3/engine/target/mech/mech-states_REF.gc @@ -525,13 +525,13 @@ ) (when (or (not s5-2) (= (-> self control send-attack-time) (current-time))) (cond - ((logtest? (-> *part-group-id-table* 12 flags) (sp-group-flag sp13)) + ((logtest? (-> group-punch-hit flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> (the-as collide-query gp-1) best-other-tri intersect)) - (part-tracker-spawn part-tracker-subsampler :to self :group (-> *part-group-id-table* 12)) + (part-tracker-spawn part-tracker-subsampler :to self :group group-punch-hit) ) (else (vector-copy! (-> *launch-matrix* trans) (-> (the-as collide-query gp-1) best-other-tri intersect)) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 12)) + (part-tracker-spawn part-tracker :to self :group group-punch-hit) ) ) (sound-play "mech-punch-hit" :position (+ (the-as uint gp-1) 48)) @@ -1227,13 +1227,13 @@ ) (sound-play "mech-eject") (cond - ((logtest? (-> *part-group-id-table* 236 flags) (sp-group-flag sp13)) + ((logtest? (-> group-mech-explode-death flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self control trans)) - (part-tracker-spawn part-tracker-subsampler :to self :group (-> *part-group-id-table* 236)) + (part-tracker-spawn part-tracker-subsampler :to self :group group-mech-explode-death) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self control trans)) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 236)) + (part-tracker-spawn part-tracker :to self :group group-mech-explode-death) ) ) (rot->dir-targ! (-> self control)) diff --git a/test/decompiler/reference/jak3/engine/target/pilot-states_REF.gc b/test/decompiler/reference/jak3/engine/target/pilot-states_REF.gc index b653d62651..607ef6370c 100644 --- a/test/decompiler/reference/jak3/engine/target/pilot-states_REF.gc +++ b/test/decompiler/reference/jak3/engine/target/pilot-states_REF.gc @@ -1019,39 +1019,39 @@ (('dark-eco-pool) (sound-play "death-darkeco") (cond - ((logtest? (-> *part-group-id-table* 62 flags) (sp-group-flag sp13)) + ((logtest? (-> group-dark-eco-death flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self control trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 62)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-dark-eco-death) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self control trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 62)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-dark-eco-death) ) ) ) (('grenade 'explode) (sound-play "explosion") (cond - ((logtest? (-> *part-group-id-table* 65 flags) (sp-group-flag sp13)) + ((logtest? (-> group-explode-death flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self control trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 65)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-explode-death) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self control trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 65)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-explode-death) ) ) ) (('lava 'melt) (sound-play "death-melt") (cond - ((logtest? (-> *part-group-id-table* 64 flags) (sp-group-flag sp13)) + ((logtest? (-> group-lava-death flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self control trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 64)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-lava-death) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self control trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 64)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-lava-death) ) ) ) diff --git a/test/decompiler/reference/jak3/engine/target/target-darkjak_REF.gc b/test/decompiler/reference/jak3/engine/target/target-darkjak_REF.gc index 1ef7ba3046..162964142c 100644 --- a/test/decompiler/reference/jak3/engine/target/target-darkjak_REF.gc +++ b/test/decompiler/reference/jak3/engine/target/target-darkjak_REF.gc @@ -149,13 +149,13 @@ (get-intersect-point s2-0 s1-0 (-> this root) (the-as touching-shapes-entry arg1)) ) (cond - ((logtest? (-> *part-group-id-table* 77 flags) (sp-group-flag sp13)) + ((logtest? (-> group-darkjak-smack-hit flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) s2-0) - (part-tracker-spawn part-tracker-subsampler :to this :group (-> *part-group-id-table* 77)) + (part-tracker-spawn part-tracker-subsampler :to this :group group-darkjak-smack-hit) ) (else (vector-copy! (-> *launch-matrix* trans) s2-0) - (part-tracker-spawn part-tracker :to this :group (-> *part-group-id-table* 77)) + (part-tracker-spawn part-tracker :to this :group group-darkjak-smack-hit) ) ) (sound-play "djak-strike-ko") @@ -288,13 +288,13 @@ (defmethod projectile-method-26 ((this darkjak-ball)) (sound-play "djak-strike-hit") (cond - ((logtest? (-> *part-group-id-table* 76 flags) (sp-group-flag sp13)) + ((logtest? (-> group-darkjak-smack-wall-explode flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> this root trans)) - (part-tracker-spawn part-tracker-subsampler :to this :group (-> *part-group-id-table* 76)) + (part-tracker-spawn part-tracker-subsampler :to this :group group-darkjak-smack-wall-explode) ) (else (vector-copy! (-> *launch-matrix* trans) (-> this root trans)) - (part-tracker-spawn part-tracker :to this :group (-> *part-group-id-table* 76)) + (part-tracker-spawn part-tracker :to this :group group-darkjak-smack-wall-explode) ) ) (activate! *camera-smush-control* 819.2 15 75 1.0 0.9 (-> *display* camera-clock)) @@ -461,9 +461,9 @@ (set! (-> this vehicle-damage-factor) 2.0) (set! (-> this vehicle-impulse-factor) 3.0) (logior! (-> this options) (projectile-options po13)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 172) this)) - (set! (-> this ball1) (create-launch-control (-> *part-group-id-table* 172) this)) - (set! (-> this trail) (create-launch-control (-> *part-group-id-table* 173) this)) + (set! (-> this part) (create-launch-control group-darkjak-hadouken this)) + (set! (-> this ball1) (create-launch-control group-darkjak-hadouken this)) + (set! (-> this trail) (create-launch-control group-darkjak-hadouken-trail this)) (set! (-> this impact?) #f) (set! (-> this max-hits) 1000) (vector-copy! (-> this fire-point) (-> this root trans)) @@ -1574,13 +1574,13 @@ ) (when (= (-> gp-3 best-other-tri pat mode) (pat-mode wall)) (cond - ((logtest? (-> *part-group-id-table* 12 flags) (sp-group-flag sp13)) + ((logtest? (-> group-punch-hit flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> gp-3 best-other-tri intersect)) - (part-tracker-spawn part-tracker-subsampler :to self :group (-> *part-group-id-table* 12)) + (part-tracker-spawn part-tracker-subsampler :to self :group group-punch-hit) ) (else (vector-copy! (-> *launch-matrix* trans) (-> gp-3 best-other-tri intersect)) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 12)) + (part-tracker-spawn part-tracker :to self :group group-punch-hit) ) ) (let ((name (static-sound-name "djak-punch-hit"))) @@ -1716,11 +1716,11 @@ (when v1-46 (set! (-> self control unknown-sound-id00) (sound-play "djak-bolt-charg")) (set! (-> self darkjak charge-effect) - (ppointer->handle (if (logtest? (-> *part-group-id-table* 75 flags) (sp-group-flag sp13)) + (ppointer->handle (if (logtest? (-> group-darkjak-smack-charge flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to self - :group (-> *part-group-id-table* 75) + :group group-darkjak-smack-charge :duration -1 :target self :mat-joint 59 @@ -1728,7 +1728,7 @@ (part-tracker-spawn part-tracker :to self - :group (-> *part-group-id-table* 75) + :group group-darkjak-smack-charge :duration -1 :target self :mat-joint 59 @@ -2182,13 +2182,13 @@ ) (set! (-> sv-160 y) (-> self control root-prim prim-core world-sphere y)) (cond - ((logtest? (-> *part-group-id-table* 71 flags) (sp-group-flag sp13)) + ((logtest? (-> group-darkjak-bomb flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) sv-160) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 71)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-darkjak-bomb) ) (else (vector-copy! (-> *launch-matrix* trans) sv-160) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 71)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-darkjak-bomb) ) ) (let ((gp-6 (process-spawn diff --git a/test/decompiler/reference/jak3/engine/target/target-death_REF.gc b/test/decompiler/reference/jak3/engine/target/target-death_REF.gc index b30e8333f2..b493f393ec 100644 --- a/test/decompiler/reference/jak3/engine/target/target-death_REF.gc +++ b/test/decompiler/reference/jak3/engine/target/target-death_REF.gc @@ -918,7 +918,7 @@ ;; WARN: Return type mismatch int vs none. (defbehavior target-hit-effect target ((arg0 attack-info)) (cond - ((logtest? (-> *part-group-id-table* 10 flags) (sp-group-flag sp13)) + ((logtest? (-> group-target-hit flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (the-as vector (if (logtest? (-> arg0 mask) (attack-mask intersection)) @@ -927,7 +927,7 @@ ) ) ) - (part-tracker-spawn part-tracker-subsampler :to self :group (-> *part-group-id-table* 10)) + (part-tracker-spawn part-tracker-subsampler :to self :group group-target-hit) ) (else (vector-copy! @@ -938,7 +938,7 @@ ) ) ) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 10)) + (part-tracker-spawn part-tracker :to self :group group-target-hit) ) ) (let ((v1-32 (-> arg0 mode))) @@ -1454,13 +1454,13 @@ (else (sound-play "death-melt") (cond - ((logtest? (-> *part-group-id-table* 64 flags) (sp-group-flag sp13)) + ((logtest? (-> group-lava-death flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self control trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 64)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-lava-death) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self control trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 64)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-lava-death) ) ) ) @@ -1475,13 +1475,13 @@ (else (sound-play "death-melt") (cond - ((logtest? (-> *part-group-id-table* 64 flags) (sp-group-flag sp13)) + ((logtest? (-> group-lava-death flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self control trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 64)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-lava-death) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self control trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 64)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-lava-death) ) ) ) @@ -1532,13 +1532,13 @@ (let* ((v1-211 (-> sv-32 mode)) (gp-9 (cond ((= v1-211 'shock-red) - (-> *part-group-id-table* 69) + group-lightning-red-glow ) ((= v1-211 'shock-green) - (-> *part-group-id-table* 68) + group-lightning-green-glow ) (else - (-> *part-group-id-table* 67) + group-lightning-glow ) ) ) @@ -2264,13 +2264,13 @@ (('dark-eco-pool) (sound-play "death-darkeco") (cond - ((logtest? (-> *part-group-id-table* 62 flags) (sp-group-flag sp13)) + ((logtest? (-> group-dark-eco-death flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self control trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 62)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-dark-eco-death) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self control trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 62)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-dark-eco-death) ) ) (let ((v1-110 (-> self control root-prim))) @@ -2302,13 +2302,13 @@ ) ) (cond - ((logtest? (-> *part-group-id-table* 65 flags) (sp-group-flag sp13)) + ((logtest? (-> group-explode-death flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self control trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 65)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-explode-death) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self control trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 65)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-explode-death) ) ) (set-vector! (-> self control transv) 0.0 65502.96 0.0 1.0) @@ -2479,13 +2479,13 @@ ) ((or (= v1-61 'burn) (= v1-61 'burnup)) (cond - ((logtest? (-> *part-group-id-table* 66 flags) (sp-group-flag sp13)) + ((logtest? (-> group-burn-death flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self control trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 66)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-burn-death) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self control trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 66)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-burn-death) ) ) (target-death-anim (the-as spool-anim #f)) @@ -2496,8 +2496,8 @@ (local-vars (gp-2 vector)) (sound-play "death-melt") (let ((gp-1 (if (= arg0 'slime) - (-> *part-group-id-table* 63) - (-> *part-group-id-table* 64) + group-slime-death + group-lava-death ) ) ) diff --git a/test/decompiler/reference/jak3/engine/target/target-handler_REF.gc b/test/decompiler/reference/jak3/engine/target/target-handler_REF.gc index 13111aeb34..e7f1bdc7d8 100644 --- a/test/decompiler/reference/jak3/engine/target/target-handler_REF.gc +++ b/test/decompiler/reference/jak3/engine/target/target-handler_REF.gc @@ -141,7 +141,7 @@ (the-as handle #f) ) (cond - ((logtest? (-> *part-group-id-table* 10 flags) (sp-group-flag sp13)) + ((logtest? (-> group-target-hit flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (the-as vector (if (logtest? (-> self attack-info-rec mask) (attack-mask intersection)) @@ -150,7 +150,7 @@ ) ) ) - (part-tracker-spawn part-tracker-subsampler :to self :group (-> *part-group-id-table* 10)) + (part-tracker-spawn part-tracker-subsampler :to self :group group-target-hit) ) (else (vector-copy! @@ -161,7 +161,7 @@ ) ) ) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 10)) + (part-tracker-spawn part-tracker :to self :group group-target-hit) ) ) (target-timed-invulnerable @@ -178,11 +178,11 @@ (sound-play "oof") ) (else - (if (logtest? (-> *part-group-id-table* 67 flags) (sp-group-flag sp13)) + (if (logtest? (-> group-lightning-glow flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to self - :group (-> *part-group-id-table* 67) + :group group-lightning-glow :duration (seconds 1) :target self :mat-joint 6 @@ -190,7 +190,7 @@ (part-tracker-spawn part-tracker :to self - :group (-> *part-group-id-table* 67) + :group group-lightning-glow :duration (seconds 1) :target self :mat-joint 6 @@ -488,13 +488,13 @@ (case sv-136 ((1) (cond - ((logtest? (-> *part-group-id-table* 11 flags) (sp-group-flag sp13)) + ((logtest? (-> group-spin-hit flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) sv-128) - (part-tracker-spawn part-tracker-subsampler :to self :group (-> *part-group-id-table* 11)) + (part-tracker-spawn part-tracker-subsampler :to self :group group-spin-hit) ) (else (vector-copy! (-> *launch-matrix* trans) sv-128) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 11)) + (part-tracker-spawn part-tracker :to self :group group-spin-hit) ) ) ) @@ -529,13 +529,13 @@ (let ((v1-105 sv-136)) (when (or (zero? v1-105) (= v1-105 1)) (cond - ((logtest? (-> *part-group-id-table* 12 flags) (sp-group-flag sp13)) + ((logtest? (-> group-punch-hit flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) sv-128) - (part-tracker-spawn part-tracker-subsampler :to self :group (-> *part-group-id-table* 12)) + (part-tracker-spawn part-tracker-subsampler :to self :group group-punch-hit) ) (else (vector-copy! (-> *launch-matrix* trans) sv-128) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 12)) + (part-tracker-spawn part-tracker :to self :group group-punch-hit) ) ) ) @@ -563,13 +563,13 @@ (let ((v1-147 sv-136)) (when (or (zero? v1-147) (= v1-147 1)) (cond - ((logtest? (-> *part-group-id-table* 12 flags) (sp-group-flag sp13)) + ((logtest? (-> group-punch-hit flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) sv-128) - (part-tracker-spawn part-tracker-subsampler :to self :group (-> *part-group-id-table* 12)) + (part-tracker-spawn part-tracker-subsampler :to self :group group-punch-hit) ) (else (vector-copy! (-> *launch-matrix* trans) sv-128) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 12)) + (part-tracker-spawn part-tracker :to self :group group-punch-hit) ) ) ) @@ -620,13 +620,13 @@ (let ((v1-199 sv-136)) (when (or (zero? v1-199) (= v1-199 1)) (cond - ((logtest? (-> *part-group-id-table* 12 flags) (sp-group-flag sp13)) + ((logtest? (-> group-punch-hit flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) sv-128) - (part-tracker-spawn part-tracker-subsampler :to self :group (-> *part-group-id-table* 12)) + (part-tracker-spawn part-tracker-subsampler :to self :group group-punch-hit) ) (else (vector-copy! (-> *launch-matrix* trans) sv-128) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 12)) + (part-tracker-spawn part-tracker :to self :group group-punch-hit) ) ) ) diff --git a/test/decompiler/reference/jak3/engine/target/target-invisible_REF.gc b/test/decompiler/reference/jak3/engine/target/target-invisible_REF.gc index bfd89a6289..ec853f2ce5 100644 --- a/test/decompiler/reference/jak3/engine/target/target-invisible_REF.gc +++ b/test/decompiler/reference/jak3/engine/target/target-invisible_REF.gc @@ -478,13 +478,13 @@ (suspend-for (seconds 0.66) ) (cond - ((logtest? (-> *part-group-id-table* 182 flags) (sp-group-flag sp13)) + ((logtest? (-> group-idol-activate flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to self :group (-> *part-group-id-table* 182)) + (part-tracker-spawn part-tracker-subsampler :to self :group group-idol-activate) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 182)) + (part-tracker-spawn part-tracker :to self :group group-idol-activate) ) ) (if *target* @@ -553,7 +553,7 @@ (the-as pair 0) ) (if (task-node-closed? (game-task-node volcano-darkeco-resolution)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 82) this)) + (set! (-> this part) (create-launch-control group-dark-maker-idol-eye-part this)) ) (set! (-> this humming-sound) (new 'process 'ambient-sound "dark-maker-amb" (-> this root trans) 0.0)) (set-falloff-far! (-> this humming-sound) 122880.0) diff --git a/test/decompiler/reference/jak3/engine/target/target-lightjak_REF.gc b/test/decompiler/reference/jak3/engine/target/target-lightjak_REF.gc index 6612186f10..e86f0355d4 100644 --- a/test/decompiler/reference/jak3/engine/target/target-lightjak_REF.gc +++ b/test/decompiler/reference/jak3/engine/target/target-lightjak_REF.gc @@ -1237,15 +1237,9 @@ ) ) ) - (if (logtest? (-> *part-group-id-table* 176 flags) (sp-group-flag sp13)) - (part-tracker-spawn - part-tracker-subsampler - :to self - :group (-> *part-group-id-table* 176) - :target self - :mat-joint 6 - ) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 176) :target self :mat-joint 6) + (if (logtest? (-> group-lightjak-get-off flags) (sp-group-flag sp13)) + (part-tracker-spawn part-tracker-subsampler :to self :group group-lightjak-get-off :target self :mat-joint 6) + (part-tracker-spawn part-tracker :to self :group group-lightjak-get-off :target self :mat-joint 6) ) ) (logclear! (-> self target-effect) (target-effect te1)) @@ -1663,15 +1657,15 @@ (set! (-> self control dynam gravity-length) 0.0) (set! (-> self control transv quad) (the-as uint128 0)) (let ((s5-2 - (if (logtest? (-> *part-group-id-table* 174 flags) (sp-group-flag sp13)) + (if (logtest? (-> group-lightjak-get-on-charge flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to self - :group (-> *part-group-id-table* 174) + :group group-lightjak-get-on-charge :target self :mat-joint 6 ) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 174) :target self :mat-joint 6) + (part-tracker-spawn part-tracker :to self :group group-lightjak-get-on-charge :target self :mat-joint 6) ) ) ) @@ -1741,15 +1735,9 @@ (the-as (function gui-connection symbol) #f) (the-as process #f) ) - (if (logtest? (-> *part-group-id-table* 175 flags) (sp-group-flag sp13)) - (part-tracker-spawn - part-tracker-subsampler - :to self - :group (-> *part-group-id-table* 175) - :target self - :mat-joint 6 - ) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 175) :target self :mat-joint 6) + (if (logtest? (-> group-lightjak-get-on flags) (sp-group-flag sp13)) + (part-tracker-spawn part-tracker-subsampler :to self :group group-lightjak-get-on :target self :mat-joint 6) + (part-tracker-spawn part-tracker :to self :group group-lightjak-get-on :target self :mat-joint 6) ) (cond ((logtest? arg0 (lightjak-stage regen)) @@ -2737,25 +2725,25 @@ (send-event (handle->process (-> self notify)) 'notify 'attack 27) (set! (-> self neck flex-blend) 0.0) (vector-copy! (-> self alt-cam-pos) (-> self control trans)) - (if (logtest? (-> *part-group-id-table* 180 flags) (sp-group-flag sp13)) + (if (logtest? (-> group-lightjak-freeze-hands flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to self - :group (-> *part-group-id-table* 180) + :group group-lightjak-freeze-hands :target self :mat-joint 19 ) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 180) :target self :mat-joint 19) + (part-tracker-spawn part-tracker :to self :group group-lightjak-freeze-hands :target self :mat-joint 19) ) - (if (logtest? (-> *part-group-id-table* 180 flags) (sp-group-flag sp13)) + (if (logtest? (-> group-lightjak-freeze-hands flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to self - :group (-> *part-group-id-table* 180) + :group group-lightjak-freeze-hands :target self :mat-joint 28 ) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 180) :target self :mat-joint 28) + (part-tracker-spawn part-tracker :to self :group group-lightjak-freeze-hands :target self :mat-joint 28) ) (set! (-> self control mod-surface) *roll-flip-mods*) (let ((f30-0 0.0)) @@ -2770,19 +2758,19 @@ (ja :num! (seek! (ja-aframe 20.0 0))) ) (cond - ((logtest? (-> *part-group-id-table* 181 flags) (sp-group-flag sp13)) + ((logtest? (-> group-lightjak-freeze-burst flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node jakb-lod0-jg sk_lhand)) ) - (part-tracker-spawn part-tracker-subsampler :to self :group (-> *part-group-id-table* 181)) + (part-tracker-spawn part-tracker-subsampler :to self :group group-lightjak-freeze-burst) ) (else (vector-copy! (-> *launch-matrix* trans) (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node jakb-lod0-jg sk_lhand)) ) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 181)) + (part-tracker-spawn part-tracker :to self :group group-lightjak-freeze-burst) ) ) (cpad-set-buzz! (-> *cpad-list* cpads 0) 1 255 (seconds 0.5)) @@ -3011,13 +2999,13 @@ (set! (-> self control unknown-handle02) (ppointer->handle (cond - ((logtest? (-> *part-group-id-table* 177 flags) (sp-group-flag sp13)) + ((logtest? (-> group-lightjak-regen flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self control trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 177)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-lightjak-regen) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self control trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 177)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-lightjak-regen) ) ) ) @@ -3093,15 +3081,15 @@ ) ) :code (behavior () - (if (logtest? (-> *part-group-id-table* 178 flags) (sp-group-flag sp13)) + (if (logtest? (-> group-lightjak-shield-start flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to self - :group (-> *part-group-id-table* 178) + :group group-lightjak-shield-start :target self :mat-joint 3 ) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 178) :target self :mat-joint 3) + (part-tracker-spawn part-tracker :to self :group group-lightjak-shield-start :target self :mat-joint 3) ) (let ((v1-30 (ja-group))) (when (not (and v1-30 (= v1-30 jakb-shield-start-ja))) @@ -3201,15 +3189,15 @@ ) (sound-play "shield-hit") (ja-channel-push! 1 (seconds 0.05)) - (if (logtest? (-> *part-group-id-table* 179 flags) (sp-group-flag sp13)) + (if (logtest? (-> group-lightjak-shield-hit flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to self - :group (-> *part-group-id-table* 179) + :group group-lightjak-shield-hit :target self :mat-joint 3 ) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 179) :target self :mat-joint 3) + (part-tracker-spawn part-tracker :to self :group group-lightjak-shield-hit :target self :mat-joint 3) ) (ja-no-eval :group! jakb-shield-hit-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) diff --git a/test/decompiler/reference/jak3/engine/target/target-part_REF.gc b/test/decompiler/reference/jak3/engine/target/target-part_REF.gc index 4846a4ca49..dd1a77dc5c 100644 --- a/test/decompiler/reference/jak3/engine/target/target-part_REF.gc +++ b/test/decompiler/reference/jak3/engine/target/target-part_REF.gc @@ -3159,14 +3159,19 @@ (let ((s4-1 (matrix-u-compose (new 'stack-no-clear 'matrix) gp-0 (the-as vector a2-2) (the-as vector a3-1)))) (vector-copy! (-> s4-1 trans) (-> s5-0 end-pos)) (vector+float*! (-> s4-1 trans) (-> s4-1 trans) gp-0 409.6) - (if (logtest? (-> *part-group-id-table* 70 flags) (sp-group-flag sp13)) + (if (logtest? (-> group-lightning-dark-shot-tip-hit-replace flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 70) + :group group-lightning-dark-shot-tip-hit-replace + :mat-joint s4-1 + ) + (part-tracker-spawn + part-tracker + :to *entity-pool* + :group group-lightning-dark-shot-tip-hit-replace :mat-joint s4-1 ) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 70) :mat-joint s4-1) ) ) ) diff --git a/test/decompiler/reference/jak3/engine/target/target-turret-shot_REF.gc b/test/decompiler/reference/jak3/engine/target/target-turret-shot_REF.gc index 0e978b9107..e79d6564b8 100644 --- a/test/decompiler/reference/jak3/engine/target/target-turret-shot_REF.gc +++ b/test/decompiler/reference/jak3/engine/target/target-turret-shot_REF.gc @@ -300,13 +300,13 @@ (vector-copy! v1-2 (-> gp-0 trans)) (vector+! v1-2 v1-2 a0-3) (cond - ((logtest? (-> *part-group-id-table* 234 flags) (sp-group-flag sp13)) + ((logtest? (-> group-turret-shot-hit flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) v1-2) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 234)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-turret-shot-hit) ) (else (vector-copy! (-> *launch-matrix* trans) v1-2) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 234)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-turret-shot-hit) ) ) ) diff --git a/test/decompiler/reference/jak3/engine/target/target-turret_REF.gc b/test/decompiler/reference/jak3/engine/target/target-turret_REF.gc index eec6a161ba..09314e35e7 100644 --- a/test/decompiler/reference/jak3/engine/target/target-turret_REF.gc +++ b/test/decompiler/reference/jak3/engine/target/target-turret_REF.gc @@ -1213,13 +1213,13 @@ (vector-copy! v1-10 (-> this root trans)) (+! (-> v1-10 y) 8192.0) (cond - ((logtest? (-> *part-group-id-table* 235 flags) (sp-group-flag sp13)) + ((logtest? (-> group-turret-explode flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) v1-10) - (part-tracker-spawn part-tracker-subsampler :to this :group (-> *part-group-id-table* 235)) + (part-tracker-spawn part-tracker-subsampler :to this :group group-turret-explode) ) (else (vector-copy! (-> *launch-matrix* trans) v1-10) - (part-tracker-spawn part-tracker :to this :group (-> *part-group-id-table* 235)) + (part-tracker-spawn part-tracker :to this :group group-turret-explode) ) ) ) @@ -2336,7 +2336,3 @@ (target-no-move-post) ) ) - - - - diff --git a/test/decompiler/reference/jak3/engine/target/target_REF.gc b/test/decompiler/reference/jak3/engine/target/target_REF.gc index 6d8b68e521..fdbd37f95e 100644 --- a/test/decompiler/reference/jak3/engine/target/target_REF.gc +++ b/test/decompiler/reference/jak3/engine/target/target_REF.gc @@ -2837,13 +2837,13 @@ ) (when (= (-> s5-3 best-other-tri pat mode) (pat-mode wall)) (cond - ((logtest? (-> *part-group-id-table* 12 flags) (sp-group-flag sp13)) + ((logtest? (-> group-punch-hit flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> s5-3 best-other-tri intersect)) - (part-tracker-spawn part-tracker-subsampler :to self :group (-> *part-group-id-table* 12)) + (part-tracker-spawn part-tracker-subsampler :to self :group group-punch-hit) ) (else (vector-copy! (-> *launch-matrix* trans) (-> s5-3 best-other-tri intersect)) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 12)) + (part-tracker-spawn part-tracker :to self :group group-punch-hit) ) ) (let ((name (if (using-gun? self) diff --git a/test/decompiler/reference/jak3/levels/city/blow-tower/blow-tower-obs2_REF.gc b/test/decompiler/reference/jak3/levels/city/blow-tower/blow-tower-obs2_REF.gc index 9c55337eae..b3b9697452 100644 --- a/test/decompiler/reference/jak3/levels/city/blow-tower/blow-tower-obs2_REF.gc +++ b/test/decompiler/reference/jak3/levels/city/blow-tower/blow-tower-obs2_REF.gc @@ -126,13 +126,13 @@ ;; INFO: Used lq/sq (defmethod on-death ((this bt-roboguard)) (cond - ((logtest? (-> *part-group-id-table* 1460 flags) (sp-group-flag sp13)) + ((logtest? (-> group-bt-roboguard-explode flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (get-trans this 3)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 1460)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-bt-roboguard-explode) ) (else (vector-copy! (-> *launch-matrix* trans) (get-trans this 3)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 1460)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-bt-roboguard-explode) ) ) (send-event (handle->process (-> this focus)) 'bt-roboguard-release) @@ -797,7 +797,7 @@ (new 'static 'vector :x -1187.84 :y -3112.96 :z 1392.64 :w 163840.0) ) (add-connection *part-engine* this 7 this 2204 (new 'static 'vector :y 1433.6 :z 1228.8 :w 163840.0)) - (set! (-> this engine-part) (create-launch-control (-> *part-group-id-table* 1462) this)) + (set! (-> this engine-part) (create-launch-control group-bt-mh-flyer-engine this)) (call-parent-method this) ) @@ -1239,7 +1239,7 @@ (blow-tower-enemy-method-35 this) (set! (-> this hit-sound) (new-sound-id)) (set! (-> this breathe-sound) (new-sound-id)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 1459) this)) + (set! (-> this part) (create-launch-control group-grunt-hit-pickup this)) (let ((v0-8 (-> this start-pos))) (vector-copy! v0-8 (-> this root trans)) v0-8 @@ -2280,7 +2280,7 @@ (set! (-> self entity extra vis-dist) 819200.0) ) :exit (behavior () - (initialize (-> self part) (-> *part-group-id-table* 1459) self) + (initialize (-> self part) group-grunt-hit-pickup self) ) ) @@ -2672,13 +2672,13 @@ (sound-play "missile-explode") (let ((v1-3 (get-trans self 3))) (cond - ((logtest? (-> *part-group-id-table* 218 flags) (sp-group-flag sp13)) + ((logtest? (-> group-kg-big-explosion flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) v1-3) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 218)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-kg-big-explosion) ) (else (vector-copy! (-> *launch-matrix* trans) v1-3) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 218)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-kg-big-explosion) ) ) ) @@ -2964,13 +2964,13 @@ (defmethod on-death ((this bt-missile)) (logior! (-> this focus-status) (focus-status dead)) (cond - ((logtest? (-> *part-group-id-table* 218 flags) (sp-group-flag sp13)) + ((logtest? (-> group-kg-big-explosion flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (get-trans this 3)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 218)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-kg-big-explosion) ) (else (vector-copy! (-> *launch-matrix* trans) (get-trans this 3)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 218)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-kg-big-explosion) ) ) (sound-play "missile-explode") diff --git a/test/decompiler/reference/jak3/levels/city/blow-tower/blow-tower-obs_REF.gc b/test/decompiler/reference/jak3/levels/city/blow-tower/blow-tower-obs_REF.gc index 29c835ad46..ed834a2064 100644 --- a/test/decompiler/reference/jak3/levels/city/blow-tower/blow-tower-obs_REF.gc +++ b/test/decompiler/reference/jak3/levels/city/blow-tower/blow-tower-obs_REF.gc @@ -184,13 +184,13 @@ (defmethod on-death ((this blow-tower-enemy)) (logior! (-> this focus-status) (focus-status dead)) (cond - ((logtest? (-> *part-group-id-table* 1457 flags) (sp-group-flag sp13)) + ((logtest? (-> group-bt-mh-flyer-explosion flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (get-trans this 3)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 1457)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-bt-mh-flyer-explosion) ) (else (vector-copy! (-> *launch-matrix* trans) (get-trans this 3)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 1457)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-bt-mh-flyer-explosion) ) ) (go empty-state) @@ -382,7 +382,7 @@ ;; WARN: Return type mismatch int vs object. (defmethod init ((this tower-flyer)) (call-parent-method this) - (set! (-> this charge-part) (create-launch-control (-> *part-group-id-table* 1456) this)) + (set! (-> this charge-part) (create-launch-control group-flyer-shot-trail this)) (set! (-> this charge-t) 0.0) (set! (-> this buzz-sound) (new-sound-id)) (set! (-> this charge-sound) (new-sound-id)) @@ -1102,7 +1102,7 @@ (send-event (handle->process (-> self params target)) 'get-attack-pos gp-1) (vector-! (-> self original-offset-vec) (-> self root trans) gp-1) ) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 1456) self)) + (set! (-> self part) (create-launch-control group-flyer-shot-trail self)) (set! (-> self size-t) 1.0) (go-virtual active) ) @@ -1662,13 +1662,13 @@ (logior! (-> self focus-status) (focus-status dead)) (count-nearby-barrels self) (cond - ((logtest? (-> *part-group-id-table* 1460 flags) (sp-group-flag sp13)) + ((logtest? (-> group-bt-roboguard-explode flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 1460)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-bt-roboguard-explode) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 1460)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-bt-roboguard-explode) ) ) (suspend-for (seconds 0.1) @@ -1793,13 +1793,13 @@ (when (!= f0-5 -100000000.0) (vector+float*! (-> self root trans) (-> self root trans) (-> gp-0 move-dist) f0-5) (cond - ((logtest? (-> *part-group-id-table* 1457 flags) (sp-group-flag sp13)) + ((logtest? (-> group-bt-mh-flyer-explosion flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 1457)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-bt-mh-flyer-explosion) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 1457)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-bt-mh-flyer-explosion) ) ) (sound-play "barrel-explode2") @@ -1812,13 +1812,13 @@ (when (< (-> self root trans y) 0.0) (set! (-> self root trans y) 0.0) (cond - ((logtest? (-> *part-group-id-table* 1457 flags) (sp-group-flag sp13)) + ((logtest? (-> group-bt-mh-flyer-explosion flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 1457)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-bt-mh-flyer-explosion) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 1457)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-bt-mh-flyer-explosion) ) ) (go empty-state) @@ -1869,7 +1869,7 @@ (the-as pair 0) ) (call-parent-method this) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 1455) this)) + (set! (-> this part) (create-launch-control group-barrel-damage this)) (set! (-> this hit-points) 2.0) ) @@ -2131,13 +2131,13 @@ (case message (('die) (cond - ((logtest? (-> *part-group-id-table* 1460 flags) (sp-group-flag sp13)) + ((logtest? (-> group-bt-roboguard-explode flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 1460)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-bt-roboguard-explode) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 1460)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-bt-roboguard-explode) ) ) (go empty-state) diff --git a/test/decompiler/reference/jak3/levels/city/blow-tower/cty-blow-tower_REF.gc b/test/decompiler/reference/jak3/levels/city/blow-tower/cty-blow-tower_REF.gc index f6bf1534db..c312b155c8 100644 --- a/test/decompiler/reference/jak3/levels/city/blow-tower/cty-blow-tower_REF.gc +++ b/test/decompiler/reference/jak3/levels/city/blow-tower/cty-blow-tower_REF.gc @@ -722,13 +722,13 @@ 0 (sound-play "snd-ship-explod") (cond - ((logtest? (-> *part-group-id-table* 296 flags) (sp-group-flag sp13)) + ((logtest? (-> group-hijack-kgpickup-explode flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 296)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-hijack-kgpickup-explode) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 296)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-hijack-kgpickup-explode) ) ) (send-event (handle->process (-> self task-man)) 'vehicle-explode) @@ -1395,13 +1395,13 @@ (defmethod on-attacked ((this bt-hellcat) (arg0 float) (arg1 attack-info) (arg2 process-focusable)) (sound-play "snd-hellcat-hit") (cond - ((logtest? (-> *part-group-id-table* 1458 flags) (sp-group-flag sp13)) + ((logtest? (-> group-bt-dummy flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> arg1 intersection)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 1458)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-bt-dummy) ) (else (vector-copy! (-> *launch-matrix* trans) (-> arg1 intersection)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 1458)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-bt-dummy) ) ) (if (logtest? (-> arg1 mask) (attack-mask control)) @@ -3266,7 +3266,7 @@ (let ((s3-2 (vector+! (new 'stack-no-clear 'vector) (-> s4-2 start-pos) (-> s4-2 move-dist)))) (sound-play "hellcat-riccos" :position s3-2) (cond - ((logtest? (-> *part-group-id-table* 1461 flags) (sp-group-flag sp13)) + ((logtest? (-> group-gun-hellcat-shot-hit flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (vector+! @@ -3275,7 +3275,7 @@ (vector-normalize-copy! (new 'stack-no-clear 'vector) (-> s4-2 move-dist) -4096.0) ) ) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 1461)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-gun-hellcat-shot-hit) ) (else (vector-copy! @@ -3286,7 +3286,7 @@ (vector-normalize-copy! (new 'stack-no-clear 'vector) (-> s4-2 move-dist) -4096.0) ) ) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 1461)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-gun-hellcat-shot-hit) ) ) ) @@ -4860,13 +4860,13 @@ ) ) (cond - ((logtest? (-> *part-group-id-table* 1458 flags) (sp-group-flag sp13)) + ((logtest? (-> group-bt-dummy flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> s2-1 intersection)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 1458)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-bt-dummy) ) (else (vector-copy! (-> *launch-matrix* trans) (-> s2-1 intersection)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 1458)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-bt-dummy) ) ) (let ((s1-7 (vector-! (new 'stack-no-clear 'vector) (get-trans this 3) (-> s2-1 intersection)))) @@ -4875,13 +4875,13 @@ ) ) ) - ((logtest? (-> *part-group-id-table* 1458 flags) (sp-group-flag sp13)) + ((logtest? (-> group-bt-dummy flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> arg1 intersection)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 1458)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-bt-dummy) ) (else (vector-copy! (-> *launch-matrix* trans) (-> arg1 intersection)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 1458)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-bt-dummy) ) ) (call-parent-method this arg0 arg1 arg2) diff --git a/test/decompiler/reference/jak3/levels/city/bombbot/bombbot_REF.gc b/test/decompiler/reference/jak3/levels/city/bombbot/bombbot_REF.gc index 19d8caba06..56ab3dd2ef 100644 --- a/test/decompiler/reference/jak3/levels/city/bombbot/bombbot_REF.gc +++ b/test/decompiler/reference/jak3/levels/city/bombbot/bombbot_REF.gc @@ -654,7 +654,7 @@ (quaternion-identity! (-> gp-1 spawn-quat)) (set! (-> gp-1 radius) 12288.0) (set! (-> gp-1 scale) 1.0) - (set! (-> gp-1 group) (-> *part-group-id-table* 219)) + (set! (-> gp-1 group) group-kg-explosion) (set! (-> gp-1 collide-with) (collide-spec backgnd jak crate civilian enemy obstacle vehicle-sphere hit-by-others-list player-list pusher) ) @@ -846,8 +846,8 @@ (vector-copy! (-> self rot-axis) s5-2) ) (set! (-> self rot-angle) 65536.0) - (set! (-> self explode-part) (create-launch-control (-> *part-group-id-table* 219) self)) - (set! (-> self warning-glow-part) (create-launch-control (-> *part-group-id-table* 525) self)) + (set! (-> self explode-part) (create-launch-control group-kg-explosion self)) + (set! (-> self warning-glow-part) (create-launch-control group-bombbot-bomb-warning-glow self)) (logclear! (-> self mask) (process-mask actor-pause)) (go-virtual idle) ) @@ -1579,13 +1579,13 @@ (activate! *camera-smush-control* f30-1 37 600 1.0 0.1 (-> pp clock)) ) (cond - ((logtest? (-> *part-group-id-table* 23 flags) (sp-group-flag sp13)) + ((logtest? (-> group-land-poof-stn flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> s1-0 position)) - (part-tracker-spawn part-tracker-subsampler :to this :group (-> *part-group-id-table* 23)) + (part-tracker-spawn part-tracker-subsampler :to this :group group-land-poof-stn) ) (else (vector-copy! (-> *launch-matrix* trans) (-> s1-0 position)) - (part-tracker-spawn part-tracker :to this :group (-> *part-group-id-table* 23)) + (part-tracker-spawn part-tracker :to this :group group-land-poof-stn) ) ) (when (or (zero? s4-0) (= s4-0 1)) @@ -2696,7 +2696,7 @@ (quaternion-identity! (-> gp-0 spawn-quat)) (set! (-> gp-0 radius) 61440.0) (set! (-> gp-0 scale) 1.0) - (set! (-> gp-0 group) (-> *part-group-id-table* 217)) + (set! (-> gp-0 group) group-kg-huge-explosion) (set! (-> gp-0 collide-with) (collide-spec backgnd jak crate civilian enemy obstacle vehicle-sphere hit-by-others-list player-list pusher) ) diff --git a/test/decompiler/reference/jak3/levels/city/common/cty-guard-projectile_REF.gc b/test/decompiler/reference/jak3/levels/city/common/cty-guard-projectile_REF.gc index 74a444ce9d..f67dd638fe 100644 --- a/test/decompiler/reference/jak3/levels/city/common/cty-guard-projectile_REF.gc +++ b/test/decompiler/reference/jak3/levels/city/common/cty-guard-projectile_REF.gc @@ -115,7 +115,7 @@ (let ((t9-3 (method-of-type projectile-bounce init-proj-settings!))) (t9-3 this) ) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 213) this)) + (set! (-> this part) (create-launch-control group-guard-grenade this)) (set! (-> this blast-radius) 16384.0) (set! (-> this max-speed) 90112.0) (set! (-> this timeout) (seconds 4)) @@ -195,7 +195,7 @@ (quaternion-identity! (-> gp-0 spawn-quat)) (set! (-> gp-0 radius) (-> self blast-radius)) (set! (-> gp-0 scale) 1.0) - (set! (-> gp-0 group) (-> *part-group-id-table* 104)) + (set! (-> gp-0 group) group-gun-dark-shot-hit) (set! (-> gp-0 collide-with) (collide-spec backgnd jak crate civilian enemy obstacle vehicle-sphere hit-by-others-list player-list pusher) ) diff --git a/test/decompiler/reference/jak3/levels/city/common/guard-tazer_REF.gc b/test/decompiler/reference/jak3/levels/city/common/guard-tazer_REF.gc index e9cf36b9e5..2706f089d7 100644 --- a/test/decompiler/reference/jak3/levels/city/common/guard-tazer_REF.gc +++ b/test/decompiler/reference/jak3/levels/city/common/guard-tazer_REF.gc @@ -143,23 +143,23 @@ ) ) (cond - ((logtest? (-> *part-group-id-table* 254 flags) (sp-group-flag sp13)) + ((logtest? (-> part-crimson-lightning-glow flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) s4-0) - (part-tracker-spawn part-tracker-subsampler :to this :group (-> *part-group-id-table* 254)) + (part-tracker-spawn part-tracker-subsampler :to this :group part-crimson-lightning-glow) ) (else (vector-copy! (-> *launch-matrix* trans) s4-0) - (part-tracker-spawn part-tracker :to this :group (-> *part-group-id-table* 254)) + (part-tracker-spawn part-tracker :to this :group part-crimson-lightning-glow) ) ) (cond - ((logtest? (-> *part-group-id-table* 254 flags) (sp-group-flag sp13)) + ((logtest? (-> part-crimson-lightning-glow flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) s5-0) - (part-tracker-spawn part-tracker-subsampler :to this :group (-> *part-group-id-table* 254)) + (part-tracker-spawn part-tracker-subsampler :to this :group part-crimson-lightning-glow) ) (else (vector-copy! (-> *launch-matrix* trans) s5-0) - (part-tracker-spawn part-tracker :to this :group (-> *part-group-id-table* 254)) + (part-tracker-spawn part-tracker :to this :group part-crimson-lightning-glow) ) ) (set-point! (-> this l-control) 0 s4-0) @@ -194,23 +194,23 @@ ) (else (cond - ((logtest? (-> *part-group-id-table* 254 flags) (sp-group-flag sp13)) + ((logtest? (-> part-crimson-lightning-glow flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) s4-0) - (part-tracker-spawn part-tracker-subsampler :to this :group (-> *part-group-id-table* 254)) + (part-tracker-spawn part-tracker-subsampler :to this :group part-crimson-lightning-glow) ) (else (vector-copy! (-> *launch-matrix* trans) s4-0) - (part-tracker-spawn part-tracker :to this :group (-> *part-group-id-table* 254)) + (part-tracker-spawn part-tracker :to this :group part-crimson-lightning-glow) ) ) (cond - ((logtest? (-> *part-group-id-table* 254 flags) (sp-group-flag sp13)) + ((logtest? (-> part-crimson-lightning-glow flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) s5-0) - (part-tracker-spawn part-tracker-subsampler :to this :group (-> *part-group-id-table* 254)) + (part-tracker-spawn part-tracker-subsampler :to this :group part-crimson-lightning-glow) ) (else (vector-copy! (-> *launch-matrix* trans) s5-0) - (part-tracker-spawn part-tracker :to this :group (-> *part-group-id-table* 254)) + (part-tracker-spawn part-tracker :to this :group part-crimson-lightning-glow) ) ) (set! (-> this l-control state points-to-draw) 9) diff --git a/test/decompiler/reference/jak3/levels/city/common/krimson-wall_REF.gc b/test/decompiler/reference/jak3/levels/city/common/krimson-wall_REF.gc index 571b0a39d0..c29c826507 100644 --- a/test/decompiler/reference/jak3/levels/city/common/krimson-wall_REF.gc +++ b/test/decompiler/reference/jak3/levels/city/common/krimson-wall_REF.gc @@ -161,25 +161,25 @@ (cond ((zero? v1-9) (cond - ((logtest? (-> *part-group-id-table* 217 flags) (sp-group-flag sp13)) + ((logtest? (-> group-kg-huge-explosion flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) gp-0) - (part-tracker-spawn part-tracker-subsampler :to self :group (-> *part-group-id-table* 217)) + (part-tracker-spawn part-tracker-subsampler :to self :group group-kg-huge-explosion) ) (else (vector-copy! (-> *launch-matrix* trans) gp-0) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 217)) + (part-tracker-spawn part-tracker :to self :group group-kg-huge-explosion) ) ) ) ((= v1-9 1) (cond - ((logtest? (-> *part-group-id-table* 218 flags) (sp-group-flag sp13)) + ((logtest? (-> group-kg-big-explosion flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) gp-0) - (part-tracker-spawn part-tracker-subsampler :to self :group (-> *part-group-id-table* 218)) + (part-tracker-spawn part-tracker-subsampler :to self :group group-kg-big-explosion) ) (else (vector-copy! (-> *launch-matrix* trans) gp-0) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 218)) + (part-tracker-spawn part-tracker :to self :group group-kg-big-explosion) ) ) ) diff --git a/test/decompiler/reference/jak3/levels/city/ctywide-obs_REF.gc b/test/decompiler/reference/jak3/levels/city/ctywide-obs_REF.gc index 6e348bd02f..5dc1502041 100644 --- a/test/decompiler/reference/jak3/levels/city/ctywide-obs_REF.gc +++ b/test/decompiler/reference/jak3/levels/city/ctywide-obs_REF.gc @@ -1166,19 +1166,19 @@ ) 0 (cond - ((logtest? (-> *part-group-id-table* 224 flags) (sp-group-flag sp13)) + ((logtest? (-> group-vehicle-explosion flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (vector+*! (new 'stack-no-clear 'vector) (-> self root trans) *up-vector* 8192.0) ) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 224)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-vehicle-explosion) ) (else (vector-copy! (-> *launch-matrix* trans) (vector+*! (new 'stack-no-clear 'vector) (-> self root trans) *up-vector* 8192.0) ) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 224)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-vehicle-explosion) ) ) (go-virtual broken) @@ -1391,7 +1391,7 @@ ;; WARN: Return type mismatch int vs none. (defmethod propa-method-31 ((this propa)) (logior! (-> this mask) (process-mask crate)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 259) this)) + (set! (-> this part) (create-launch-control group-ctywide-baron-propoganda-holo this)) 0 (none) ) @@ -1970,9 +1970,9 @@ ;; definition for method 33 of type burning-bush ;; WARN: Return type mismatch int vs none. (defmethod burning-bush-method-33 ((this burning-bush)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 260) this)) - (set! (-> this part-off) (create-launch-control (-> *part-group-id-table* 261) this)) - (set! (-> this part-alert) (create-launch-control (-> *part-group-id-table* 262) this)) + (set! (-> this part) (create-launch-control group-ctywide-burning-bush-holo-on this)) + (set! (-> this part-off) (create-launch-control group-ctywide-burning-bush-holo-off this)) + (set! (-> this part-alert) (create-launch-control group-ctywide-burning-bush-holo-red this)) 0 (none) ) @@ -3647,7 +3647,7 @@ (set! (-> this root) (new 'process 'trsqv)) (process-drawable-from-entity! this arg0) (logclear! (-> this mask) (process-mask actor-pause)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 297) this)) + (set! (-> this part) (create-launch-control group-mh-tower-smoke-cty this)) (cond ((not (task-node-closed? (game-task-node tower-destroy-resolution))) (cleanup-for-death this) diff --git a/test/decompiler/reference/jak3/levels/city/destroy-grid/cty-destroy-grid_REF.gc b/test/decompiler/reference/jak3/levels/city/destroy-grid/cty-destroy-grid_REF.gc index 3ab7423334..7aee567f9f 100644 --- a/test/decompiler/reference/jak3/levels/city/destroy-grid/cty-destroy-grid_REF.gc +++ b/test/decompiler/reference/jak3/levels/city/destroy-grid/cty-destroy-grid_REF.gc @@ -2208,7 +2208,7 @@ (quaternion-identity! (-> gp-4 spawn-quat)) (set! (-> gp-4 radius) 32768.0) (set! (-> gp-4 scale) 1.0) - (set! (-> gp-4 group) (-> *part-group-id-table* 217)) + (set! (-> gp-4 group) group-kg-huge-explosion) (set! (-> gp-4 collide-with) (collide-spec backgnd jak crate civilian enemy obstacle vehicle-sphere hit-by-others-list player-list pusher) ) diff --git a/test/decompiler/reference/jak3/levels/city/hijack/cty-hijack-missile_REF.gc b/test/decompiler/reference/jak3/levels/city/hijack/cty-hijack-missile_REF.gc index 599b70e395..4b3c593b23 100644 --- a/test/decompiler/reference/jak3/levels/city/hijack/cty-hijack-missile_REF.gc +++ b/test/decompiler/reference/jak3/levels/city/hijack/cty-hijack-missile_REF.gc @@ -444,7 +444,7 @@ (set! (-> self tracked-player-positions) (new 'process 'vector-array 250)) (set! (-> self tracked-player-positions length) 0) (set! (-> self last-record-time) 0) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 1432) self)) + (set! (-> self part) (create-launch-control group-missile-thruster-fire self)) (set! (-> self is-leader?) (-> arg0 is-leader?)) (set! (-> self track-obj) (-> arg0 track-obj)) (set-vector! (-> self root scale) 0.8 0.8 0.9 1.0) @@ -633,13 +633,13 @@ :virtual #t :enter (behavior () (cond - ((logtest? (-> *part-group-id-table* 217 flags) (sp-group-flag sp13)) + ((logtest? (-> group-kg-huge-explosion flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 217)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-kg-huge-explosion) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 217)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-kg-huge-explosion) ) ) (logior! (-> self draw status) (draw-control-status no-draw)) @@ -656,13 +656,13 @@ (sound-play "hj-explode") (logior! (-> self draw status) (draw-control-status no-draw)) (cond - ((logtest? (-> *part-group-id-table* 296 flags) (sp-group-flag sp13)) + ((logtest? (-> group-hijack-kgpickup-explode flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 296)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-hijack-kgpickup-explode) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 296)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-hijack-kgpickup-explode) ) ) (send-event @@ -756,13 +756,13 @@ (sound-stop (-> self peel-off-sound)) (logior! (-> self draw status) (draw-control-status no-draw)) (cond - ((logtest? (-> *part-group-id-table* 88 flags) (sp-group-flag sp13)) + ((logtest? (-> group-gun-red3-shot-explode flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 88)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-gun-red3-shot-explode) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 88)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-gun-red3-shot-explode) ) ) (send-event (handle->process (-> self track-obj)) 'missile-hit) diff --git a/test/decompiler/reference/jak3/levels/city/hijack/cty-hijack_REF.gc b/test/decompiler/reference/jak3/levels/city/hijack/cty-hijack_REF.gc index 6a8e26f1c4..3a43895cfb 100644 --- a/test/decompiler/reference/jak3/levels/city/hijack/cty-hijack_REF.gc +++ b/test/decompiler/reference/jak3/levels/city/hijack/cty-hijack_REF.gc @@ -1087,8 +1087,8 @@ ;; definition for method 35 of type cty-missile-lure (defmethod go-idle ((this cty-missile-lure)) (set! (-> this hum-sound) (new-sound-id)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 1433) this)) - (set! (-> this sirens2) (create-launch-control (-> *part-group-id-table* 1434) this)) + (set! (-> this part) (create-launch-control group-lure-sirens this)) + (set! (-> this sirens2) (create-launch-control group-lure-sirens-dim this)) (set! (-> this raise-sound) (new-sound-id)) (cond ((-> this is-naughty-ottsel?) diff --git a/test/decompiler/reference/jak3/levels/city/port/attack/ctyport-attack_REF.gc b/test/decompiler/reference/jak3/levels/city/port/attack/ctyport-attack_REF.gc index c46de8ee03..e6435659ff 100644 --- a/test/decompiler/reference/jak3/levels/city/port/attack/ctyport-attack_REF.gc +++ b/test/decompiler/reference/jak3/levels/city/port/attack/ctyport-attack_REF.gc @@ -2081,7 +2081,7 @@ (set! (-> self root) (new 'process 'trsqv)) (vector-copy! (-> self root trans) arg0) (quaternion-identity! (-> self root quat)) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 530) self)) + (set! (-> self part) (create-launch-control group-nuke-fuel self)) (go-virtual idle) ) diff --git a/test/decompiler/reference/jak3/levels/city/port/attack/h-torpedo_REF.gc b/test/decompiler/reference/jak3/levels/city/port/attack/h-torpedo_REF.gc index ef73f4e60f..8afdec4057 100644 --- a/test/decompiler/reference/jak3/levels/city/port/attack/h-torpedo_REF.gc +++ b/test/decompiler/reference/jak3/levels/city/port/attack/h-torpedo_REF.gc @@ -1237,18 +1237,17 @@ (sound-stop (-> self ground-sound)) (sound-stop (-> self evasive-sound)) (sound-stop (-> self wake-sound)) - (let ((v1-45 - (cond - ((logtest? (-> *part-group-id-table* 529 flags) (sp-group-flag sp13)) - (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 529)) - ) - (else - (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 529)) - ) - ) - ) + (let ((v1-45 (cond + ((logtest? (-> group-torpedo-explosion flags) (sp-group-flag sp13)) + (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-torpedo-explosion) + ) + (else + (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-torpedo-explosion) + ) + ) + ) ) (send-event (ppointer->process v1-45) 'clock self) ) @@ -1649,7 +1648,7 @@ (set! (-> this ground-sound) (new-sound-id)) (set! (-> this evasive-sound) (new-sound-id)) (set! (-> this wake-sound) (new-sound-id)) - (set! (-> this heat-haze) (create-launch-control (-> *part-group-id-table* 526) this)) + (set! (-> this heat-haze) (create-launch-control group-daxter-missile-heathaze this)) (let* ((s5-1 (-> this heat-haze)) (s4-1 (method-of-object s5-1 set-local-space-info)) (s3-0 (add-connection *part-local-space-engine* this local-space-proc-joint 0 0 0)) @@ -1712,18 +1711,18 @@ (when (and (-> this on-water?) (= (-> this jump-state) 0)) ) (when (-> this spawn-splash?) - (if (logtest? (-> *part-group-id-table* 528 flags) (sp-group-flag sp13)) + (if (logtest? (-> group-nuke-water-splash flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 528) + :group group-nuke-water-splash :target this :mat-joint (the-as object 0) ) (part-tracker-spawn part-tracker :to *entity-pool* - :group (-> *part-group-id-table* 528) + :group group-nuke-water-splash :target this :mat-joint (the-as object 0) ) diff --git a/test/decompiler/reference/jak3/levels/city/protect/assault-enemies_REF.gc b/test/decompiler/reference/jak3/levels/city/protect/assault-enemies_REF.gc index d59d90ed0a..ddc31167a2 100644 --- a/test/decompiler/reference/jak3/levels/city/protect/assault-enemies_REF.gc +++ b/test/decompiler/reference/jak3/levels/city/protect/assault-enemies_REF.gc @@ -1284,20 +1284,20 @@ (quaternion-rotate-y! (-> this root quat) (-> this root quat) (rand-vu-float-range 0.0 65536.0)) (case (-> this ammo-type) (((pickup-type ammo-yellow)) - (set! (-> this collect-effect) (-> *part-group-id-table* 136)) + (set! (-> this collect-effect) group-ammo-yellow-collect) ) (((pickup-type ammo-red)) - (set! (-> this collect-effect) (-> *part-group-id-table* 137)) + (set! (-> this collect-effect) group-ammo-red-collect) ) (((pickup-type ammo-blue)) - (set! (-> this collect-effect) (-> *part-group-id-table* 138)) + (set! (-> this collect-effect) group-ammo-blue-collect) ) (((pickup-type ammo-dark)) - (set! (-> this collect-effect) (-> *part-group-id-table* 139)) + (set! (-> this collect-effect) group-ammo-dark-collect) ) (((pickup-type eco-pill-dark)) - (set! (-> this collect-effect) (-> *part-group-id-table* 140)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 128) this)) + (set! (-> this collect-effect) group-eco-dark-pill-collect) + (set! (-> this part) (create-launch-control group-eco-dark-pill this)) ) ) (case (-> this ammo-type) @@ -1358,16 +1358,16 @@ ) (case (-> this ammo-type) (((pickup-type ammo-yellow)) - (set! (-> this ammo-effect) (-> *part-group-id-table* 164)) + (set! (-> this ammo-effect) group-eco-yellow) ) (((pickup-type ammo-red)) - (set! (-> this ammo-effect) (-> *part-group-id-table* 158)) + (set! (-> this ammo-effect) group-eco-red) ) (((pickup-type ammo-blue)) - (set! (-> this ammo-effect) (-> *part-group-id-table* 154)) + (set! (-> this ammo-effect) group-eco-blue) ) (((pickup-type ammo-dark)) - (set! (-> this ammo-effect) (-> *part-group-id-table* 129)) + (set! (-> this ammo-effect) group-eco-green) ) ) (update-transforms (-> this root)) @@ -1905,13 +1905,17 @@ ;; WARN: Return type mismatch int vs none. (defmethod projectile-method-26 ((this assault-bombbot-shot)) (cond - ((logtest? (-> *part-group-id-table* 1435 flags) (sp-group-flag sp13)) + ((logtest? (-> group-dummy-explode-assault-bombbot-explode flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> this root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 1435)) + (part-tracker-spawn + part-tracker-subsampler + :to *entity-pool* + :group group-dummy-explode-assault-bombbot-explode + ) ) (else (vector-copy! (-> *launch-matrix* trans) (-> this root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 1435)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-dummy-explode-assault-bombbot-explode) ) ) ((method-of-type guard-shot projectile-method-26) this) diff --git a/test/decompiler/reference/jak3/levels/city/protect/flying-turret_REF.gc b/test/decompiler/reference/jak3/levels/city/protect/flying-turret_REF.gc index 007ea50725..ee46a3383a 100644 --- a/test/decompiler/reference/jak3/levels/city/protect/flying-turret_REF.gc +++ b/test/decompiler/reference/jak3/levels/city/protect/flying-turret_REF.gc @@ -1353,13 +1353,13 @@ :parent (flying-turret flying-turret-base-state) :code (behavior () (cond - ((logtest? (-> *part-group-id-table* 221 flags) (sp-group-flag sp13)) + ((logtest? (-> group-kg-small-explosion flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 221)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-kg-small-explosion) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 221)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-kg-small-explosion) ) ) (when (kg-squad-member-method-220 self) diff --git a/test/decompiler/reference/jak3/levels/city/protect/protect-gunship_REF.gc b/test/decompiler/reference/jak3/levels/city/protect/protect-gunship_REF.gc index 4c6d1b7ee4..0759797bc9 100644 --- a/test/decompiler/reference/jak3/levels/city/protect/protect-gunship_REF.gc +++ b/test/decompiler/reference/jak3/levels/city/protect/protect-gunship_REF.gc @@ -1433,23 +1433,23 @@ (transform-post) (logclear! (-> self mask) (process-mask enemy)) (cond - ((logtest? (-> *part-group-id-table* 997 flags) (sp-group-flag sp13)) + ((logtest? (-> group-gunship-target-explode flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 997)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-gunship-target-explode) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 997)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-gunship-target-explode) ) ) (cond - ((logtest? (-> *part-group-id-table* 212 flags) (sp-group-flag sp13)) + ((logtest? (-> group-guard-shot-hit flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 212)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-guard-shot-hit) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 212)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-guard-shot-hit) ) ) (remove-attacker *cty-attack-controller* (-> self attacker-info)) @@ -1689,7 +1689,7 @@ 40960.0 ) ) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 1454) this)) + (set! (-> this part) (create-launch-control group-protect-gunship-cannon-charge this)) (let* ((s5-5 (-> this part)) (s4-0 (method-of-object s5-5 set-local-space-info)) (s3-0 (add-connection *part-local-space-engine* this local-space-proc-joint 17 0 0)) @@ -1706,7 +1706,7 @@ (s4-0 s5-5 (the-as particle-local-space-info s3-0)) ) (dotimes (s5-6 4) - (set! (-> this smoke-parts s5-6) (create-launch-control (-> *part-group-id-table* 1451) this)) + (set! (-> this smoke-parts s5-6) (create-launch-control group-gunship-damage this)) ) (go (method-of-object this raising)) ) @@ -1883,13 +1883,13 @@ (transform-post) (sound-play "gship-explode") (cond - ((logtest? (-> *part-group-id-table* 1453 flags) (sp-group-flag sp13)) + ((logtest? (-> group-grp-gunship-explosion flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 1453)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-grp-gunship-explosion) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 1453)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-grp-gunship-explosion) ) ) ) @@ -2201,13 +2201,13 @@ 0 (transform-post) (cond - ((logtest? (-> *part-group-id-table* 104 flags) (sp-group-flag sp13)) + ((logtest? (-> group-gun-dark-shot-hit flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self dest-pos)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 104)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-gun-dark-shot-hit) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self dest-pos)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 104)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-gun-dark-shot-hit) ) ) (send-event (ppointer->process (-> self parent)) 'missile-die (-> self index)) @@ -2554,18 +2554,17 @@ (vector-copy! v1-152 (-> this missile-info missile-dest-positions s5-5)) (+! (-> v1-152 y) 409.6) (set! (-> this missile-info beacon-handles s5-5) - (ppointer->handle - (cond - ((logtest? (-> *part-group-id-table* 1452 flags) (sp-group-flag sp13)) - (vector-copy! (-> *launch-matrix* trans) v1-152) - (part-tracker-spawn part-tracker-subsampler :to this :group (-> *part-group-id-table* 1452)) - ) - (else - (vector-copy! (-> *launch-matrix* trans) v1-152) - (part-tracker-spawn part-tracker :to this :group (-> *part-group-id-table* 1452)) - ) - ) - ) + (ppointer->handle (cond + ((logtest? (-> group-missile-beacon flags) (sp-group-flag sp13)) + (vector-copy! (-> *launch-matrix* trans) v1-152) + (part-tracker-spawn part-tracker-subsampler :to this :group group-missile-beacon) + ) + (else + (vector-copy! (-> *launch-matrix* trans) v1-152) + (part-tracker-spawn part-tracker :to this :group group-missile-beacon) + ) + ) + ) ) ) (+! (-> this missile-info missile-probe-index) 1) diff --git a/test/decompiler/reference/jak3/levels/city/protect/roboguard-city_REF.gc b/test/decompiler/reference/jak3/levels/city/protect/roboguard-city_REF.gc index 1383a9e282..c2b8c55584 100644 --- a/test/decompiler/reference/jak3/levels/city/protect/roboguard-city_REF.gc +++ b/test/decompiler/reference/jak3/levels/city/protect/roboguard-city_REF.gc @@ -1724,13 +1724,13 @@ :code (behavior () (let ((v1-1 (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node roboguard-city-lod0-jg chest)))) (cond - ((logtest? (-> *part-group-id-table* 219 flags) (sp-group-flag sp13)) + ((logtest? (-> group-kg-explosion flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) v1-1) - (part-tracker-spawn part-tracker-subsampler :to self :group (-> *part-group-id-table* 219)) + (part-tracker-spawn part-tracker-subsampler :to self :group group-kg-explosion) ) (else (vector-copy! (-> *launch-matrix* trans) v1-1) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 219)) + (part-tracker-spawn part-tracker :to self :group group-kg-explosion) ) ) ) diff --git a/test/decompiler/reference/jak3/levels/city/sniper/cty-sniper-battery_REF.gc b/test/decompiler/reference/jak3/levels/city/sniper/cty-sniper-battery_REF.gc index f7d4f43a61..c692d1377c 100644 --- a/test/decompiler/reference/jak3/levels/city/sniper/cty-sniper-battery_REF.gc +++ b/test/decompiler/reference/jak3/levels/city/sniper/cty-sniper-battery_REF.gc @@ -879,13 +879,13 @@ :code (behavior () (sound-play "destroy-battery") (cond - ((logtest? (-> *part-group-id-table* 1464 flags) (sp-group-flag sp13)) + ((logtest? (-> group-sniper-battery-explosion flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 1464)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-sniper-battery-explosion) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 1464)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-sniper-battery-explosion) ) ) (let ((v1-35 (-> self root root-prim))) @@ -1015,7 +1015,7 @@ ) ) (set! (-> this halted) #f) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 1463) this)) + (set! (-> this part) (create-launch-control group-cty-sniper-battery-glow this)) (logior! (-> this mask) (process-mask enemy)) (go (method-of-object this idle)) ) diff --git a/test/decompiler/reference/jak3/levels/city/sniper/cty-sniper-turret_REF.gc b/test/decompiler/reference/jak3/levels/city/sniper/cty-sniper-turret_REF.gc index 73c8675eb1..87abe016be 100644 --- a/test/decompiler/reference/jak3/levels/city/sniper/cty-sniper-turret_REF.gc +++ b/test/decompiler/reference/jak3/levels/city/sniper/cty-sniper-turret_REF.gc @@ -1290,26 +1290,31 @@ (vector+! (-> gp-0 trans) (-> this root trans) s3-0) (cond ((-> this hit-actor?) - (if (logtest? (-> *part-group-id-table* 1466 flags) (sp-group-flag sp13)) + (if (logtest? (-> group-cty-sniper-turret-shot-hit-object flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 1466) + :group group-cty-sniper-turret-shot-hit-object + :mat-joint gp-0 + ) + (part-tracker-spawn + part-tracker + :to *entity-pool* + :group group-cty-sniper-turret-shot-hit-object :mat-joint gp-0 ) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 1466) :mat-joint gp-0) ) ) - ((logtest? (-> *part-group-id-table* 1467 flags) (sp-group-flag sp13)) + ((logtest? (-> group-cty-sniper-turret-shot-hit flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 1467) + :group group-cty-sniper-turret-shot-hit :mat-joint gp-0 ) ) (else - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 1467) :mat-joint gp-0) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-cty-sniper-turret-shot-hit :mat-joint gp-0) ) ) ) @@ -3373,13 +3378,13 @@ ) :code (behavior () (cond - ((logtest? (-> *part-group-id-table* 1465 flags) (sp-group-flag sp13)) + ((logtest? (-> group-sniper-turret-explosion flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 1465)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-sniper-turret-explosion) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 1465)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-sniper-turret-explosion) ) ) (suspend) diff --git a/test/decompiler/reference/jak3/levels/city/traffic/citizen/metalhead-flitter_REF.gc b/test/decompiler/reference/jak3/levels/city/traffic/citizen/metalhead-flitter_REF.gc index c49a37fad6..afcd94cff6 100644 --- a/test/decompiler/reference/jak3/levels/city/traffic/citizen/metalhead-flitter_REF.gc +++ b/test/decompiler/reference/jak3/levels/city/traffic/citizen/metalhead-flitter_REF.gc @@ -406,13 +406,13 @@ (until #f (when (< (-> self base-height) (-> self root trans y)) (cond - ((logtest? (-> *part-group-id-table* 257 flags) (sp-group-flag sp13)) + ((logtest? (-> group-flitter-dust-puff flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 257)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-flitter-dust-puff) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 257)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-flitter-dust-puff) ) ) (goto cfg-14) diff --git a/test/decompiler/reference/jak3/levels/city/traffic/vehicle/vehicle-util_REF.gc b/test/decompiler/reference/jak3/levels/city/traffic/vehicle/vehicle-util_REF.gc index 2adc722ae7..10e3185721 100644 --- a/test/decompiler/reference/jak3/levels/city/traffic/vehicle/vehicle-util_REF.gc +++ b/test/decompiler/reference/jak3/levels/city/traffic/vehicle/vehicle-util_REF.gc @@ -850,19 +850,14 @@ (vector-copy! (-> s4-1 1 uvec) (-> s4-1 0 uvec)) (vector-copy! (-> s4-1 1 fvec) (-> s4-1 0 fvec)) (vector-copy! (-> s4-1 1 trans) (-> s4-1 0 rvec)) - (if (logtest? (-> *part-group-id-table* 225 flags) (sp-group-flag sp13)) + (if (logtest? (-> group-vehicle-engine-start flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 225) - :mat-joint (-> s4-1 1) - ) - (part-tracker-spawn - part-tracker - :to *entity-pool* - :group (-> *part-group-id-table* 225) + :group group-vehicle-engine-start :mat-joint (-> s4-1 1) ) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-vehicle-engine-start :mat-joint (-> s4-1 1)) ) ) ) diff --git a/test/decompiler/reference/jak3/levels/city/vinroom/power-game_REF.gc b/test/decompiler/reference/jak3/levels/city/vinroom/power-game_REF.gc index 1d6f2e1079..9ec6a3ba47 100644 --- a/test/decompiler/reference/jak3/levels/city/vinroom/power-game_REF.gc +++ b/test/decompiler/reference/jak3/levels/city/vinroom/power-game_REF.gc @@ -1347,7 +1347,7 @@ (set! (-> *game-info* miss) 0.0) (set! (-> *game-info* miss-max) (the float (-> this miss-max))) (set! (-> this score-met) #f) - (set! (-> this score-part 0) (create-launch-control (-> *part-group-id-table* 912) this)) + (set! (-> this score-part 0) (create-launch-control group-power-scoreboard-points this)) (let ((v1-41 (-> this root root-prim))) (set! (-> v1-41 prim-core collide-as) (collide-spec)) (set! (-> v1-41 prim-core collide-with) (collide-spec)) @@ -2283,13 +2283,13 @@ ) ) (cond - ((logtest? (-> *part-group-id-table* 911 flags) (sp-group-flag sp13)) + ((logtest? (-> group-player-die flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to self :group (-> *part-group-id-table* 911)) + (part-tracker-spawn part-tracker-subsampler :to self :group group-player-die) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 911)) + (part-tracker-spawn part-tracker :to self :group group-player-die) ) ) (sound-play "magic-poof-die") @@ -2566,11 +2566,11 @@ ) :code (behavior () (sound-play "switcher-appear") - (if (logtest? (-> *part-group-id-table* 907 flags) (sp-group-flag sp13)) + (if (logtest? (-> group-switcher-charge flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to self - :group (-> *part-group-id-table* 907) + :group group-switcher-charge :duration (seconds 4) :target self :mat-joint (the-as object 0) @@ -2578,7 +2578,7 @@ (part-tracker-spawn part-tracker :to self - :group (-> *part-group-id-table* 907) + :group group-switcher-charge :duration (seconds 4) :target self :mat-joint (the-as object 0) @@ -2723,13 +2723,13 @@ ) ) (cond - ((logtest? (-> *part-group-id-table* 908 flags) (sp-group-flag sp13)) + ((logtest? (-> group-switcher-die flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to self :group (-> *part-group-id-table* 908)) + (part-tracker-spawn part-tracker-subsampler :to self :group group-switcher-die) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 908)) + (part-tracker-spawn part-tracker :to self :group group-switcher-die) ) ) (logior! (-> self focus-status) (focus-status dead)) @@ -3004,21 +3004,15 @@ (defstate die (power-game-zapper) :virtual #t :code (behavior () - (if (logtest? (-> *part-group-id-table* 908 flags) (sp-group-flag sp13)) + (if (logtest? (-> group-switcher-die flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to self - :group (-> *part-group-id-table* 908) - :target self - :mat-joint (the-as object 0) - ) - (part-tracker-spawn - part-tracker - :to self - :group (-> *part-group-id-table* 908) + :group group-switcher-die :target self :mat-joint (the-as object 0) ) + (part-tracker-spawn part-tracker :to self :group group-switcher-die :target self :mat-joint (the-as object 0)) ) (logior! (-> self focus-status) (focus-status dead)) (ja-channel-push! 1 (seconds 0.05)) @@ -3185,13 +3179,13 @@ :virtual #t :code (behavior () (cond - ((logtest? (-> *part-group-id-table* 910 flags) (sp-group-flag sp13)) + ((logtest? (-> group-glyph-die flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 910)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-glyph-die) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 910)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-glyph-die) ) ) (sound-play "glyph-kill") @@ -3239,13 +3233,13 @@ (-> self local z) ) (cond - ((logtest? (-> *part-group-id-table* 909 flags) (sp-group-flag sp13)) + ((logtest? (-> group-glyph-charge flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to self :group (-> *part-group-id-table* 909)) + (part-tracker-spawn part-tracker-subsampler :to self :group group-glyph-charge) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 909)) + (part-tracker-spawn part-tracker :to self :group group-glyph-charge) ) ) (go-virtual active) diff --git a/test/decompiler/reference/jak3/levels/comb/comb-obs_REF.gc b/test/decompiler/reference/jak3/levels/comb/comb-obs_REF.gc index 98bb8883b5..4ed3b1702a 100644 --- a/test/decompiler/reference/jak3/levels/comb/comb-obs_REF.gc +++ b/test/decompiler/reference/jak3/levels/comb/comb-obs_REF.gc @@ -560,7 +560,7 @@ (set! (-> this draw lod-set lod 0 dist) 1228800.0) (set! (-> this draw lod-set lod 1 dist) 1232896.0) (dotimes (s5-2 4) - (set! (-> this parts s5-2) (create-launch-control (-> *part-group-id-table* 1235) this)) + (set! (-> this parts s5-2) (create-launch-control group-comb-obstacle-glow this)) ) (set-cspec! this) (go (method-of-object this idle)) @@ -727,7 +727,7 @@ (quaternion-identity! (-> gp-1 spawn-quat)) (set! (-> gp-1 radius) 40960.0) (set! (-> gp-1 scale) 1.0) - (set! (-> gp-1 group) (-> *part-group-id-table* 217)) + (set! (-> gp-1 group) group-kg-huge-explosion) (set! (-> gp-1 collide-with) (collide-spec backgnd jak crate civilian enemy obstacle vehicle-sphere hit-by-others-list player-list pusher) ) diff --git a/test/decompiler/reference/jak3/levels/comb/comb-scenes_REF.gc b/test/decompiler/reference/jak3/levels/comb/comb-scenes_REF.gc index 5c461eb21f..dd4cf96353 100644 --- a/test/decompiler/reference/jak3/levels/comb/comb-scenes_REF.gc +++ b/test/decompiler/reference/jak3/levels/comb/comb-scenes_REF.gc @@ -214,11 +214,11 @@ ) (while (>= s5-0 gp-0) (when (not (or (and (>= gp-0 13) (>= 21 gp-0)) (and (>= gp-0 26) (>= 34 gp-0)))) - (if (logtest? (-> *part-group-id-table* 1252 flags) (sp-group-flag sp13)) + (if (logtest? (-> group-outro-precursor-entity flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to self - :group (-> *part-group-id-table* 1252) + :group group-outro-precursor-entity :duration (seconds 17.135) :target self :mat-joint gp-0 @@ -226,7 +226,7 @@ (part-tracker-spawn part-tracker :to self - :group (-> *part-group-id-table* 1252) + :group group-outro-precursor-entity :duration (seconds 17.135) :target self :mat-joint gp-0 @@ -953,7 +953,3 @@ (defpart 4265 :init-specs ((:scalevel-x (meters -0.0033333334)) (:scalevel-y (meters -0.02)) (:fade-a -1.7)) ) - - - - diff --git a/test/decompiler/reference/jak3/levels/comb/comb-sentry_REF.gc b/test/decompiler/reference/jak3/levels/comb/comb-sentry_REF.gc index cf83e6464b..0e591f56e9 100644 --- a/test/decompiler/reference/jak3/levels/comb/comb-sentry_REF.gc +++ b/test/decompiler/reference/jak3/levels/comb/comb-sentry_REF.gc @@ -89,23 +89,23 @@ ((-> this hit-actor?) (sound-play "sentry-hit") (cond - ((logtest? (-> *part-group-id-table* 211 flags) (sp-group-flag sp13)) + ((logtest? (-> group-guard-shot-hit-object flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) gp-0) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 211)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-guard-shot-hit-object) ) (else (vector-copy! (-> *launch-matrix* trans) gp-0) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 211)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-guard-shot-hit-object) ) ) ) - ((logtest? (-> *part-group-id-table* 212 flags) (sp-group-flag sp13)) + ((logtest? (-> group-guard-shot-hit flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) gp-0) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 212)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-guard-shot-hit) ) (else (vector-copy! (-> *launch-matrix* trans) gp-0) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 212)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-guard-shot-hit) ) ) ) @@ -710,13 +710,13 @@ (stop-hum self) (sound-play "sentry-expl") (cond - ((logtest? (-> *part-group-id-table* 217 flags) (sp-group-flag sp13)) + ((logtest? (-> group-kg-huge-explosion flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 217)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-kg-huge-explosion) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 217)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-kg-huge-explosion) ) ) (let ((gp-3 (new 'stack 'joint-exploder-tuning (the-as uint 0)))) diff --git a/test/decompiler/reference/jak3/levels/comb/h-sled_REF.gc b/test/decompiler/reference/jak3/levels/comb/h-sled_REF.gc index ec45839631..547ce05867 100644 --- a/test/decompiler/reference/jak3/levels/comb/h-sled_REF.gc +++ b/test/decompiler/reference/jak3/levels/comb/h-sled_REF.gc @@ -253,13 +253,13 @@ (vector-copy! v1-2 (-> gp-0 trans)) (vector+! v1-2 v1-2 a0-3) (cond - ((logtest? (-> *part-group-id-table* 211 flags) (sp-group-flag sp13)) + ((logtest? (-> group-guard-shot-hit-object flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) v1-2) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 211)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-guard-shot-hit-object) ) (else (vector-copy! (-> *launch-matrix* trans) v1-2) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 211)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-guard-shot-hit-object) ) ) ) @@ -1186,7 +1186,7 @@ (set! (-> this shoot-delay) (the-as uint 30)) (set! (-> this in-tunnel) #f) (dotimes (s5-1 4) - (set! (-> this parts s5-1) (create-launch-control (-> *part-group-id-table* 1234) this)) + (set! (-> this parts s5-1) (create-launch-control group-comb-hover-vehicle-exhaust-distortion this)) ) (set! (-> this health-hud) (the-as handle #f)) (set! (-> this max-time-step) 0.02) diff --git a/test/decompiler/reference/jak3/levels/comb/railx-scenes_REF.gc b/test/decompiler/reference/jak3/levels/comb/railx-scenes_REF.gc index 8b75c7ba59..a088ed1f34 100644 --- a/test/decompiler/reference/jak3/levels/comb/railx-scenes_REF.gc +++ b/test/decompiler/reference/jak3/levels/comb/railx-scenes_REF.gc @@ -407,11 +407,11 @@ ) (while (>= s5-0 gp-0) (when (not (or (and (>= gp-0 13) (>= 21 gp-0)) (and (>= gp-0 26) (>= 34 gp-0)))) - (if (logtest? (-> *part-group-id-table* 1276 flags) (sp-group-flag sp13)) + (if (logtest? (-> group-railx-precursor-entity flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 1276) + :group group-railx-precursor-entity :duration (seconds 56.867) :target self :mat-joint gp-0 @@ -419,7 +419,7 @@ (part-tracker-spawn part-tracker :to *entity-pool* - :group (-> *part-group-id-table* 1276) + :group group-railx-precursor-entity :duration (seconds 56.867) :target self :mat-joint gp-0 @@ -2297,7 +2297,3 @@ (:rotate-y (degrees 0)) ) ) - - - - diff --git a/test/decompiler/reference/jak3/levels/common/ai/ashelin/ash-shot_REF.gc b/test/decompiler/reference/jak3/levels/common/ai/ashelin/ash-shot_REF.gc index 19be6b4c6f..83f1175ba6 100644 --- a/test/decompiler/reference/jak3/levels/common/ai/ashelin/ash-shot_REF.gc +++ b/test/decompiler/reference/jak3/levels/common/ai/ashelin/ash-shot_REF.gc @@ -323,13 +323,13 @@ ;; WARN: Return type mismatch int vs none. (defmethod projectile-method-26 ((this ashelin-shot)) (cond - ((logtest? (-> *part-group-id-table* 222 flags) (sp-group-flag sp13)) + ((logtest? (-> group-ashelin-shot-hit flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> this root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 222)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-ashelin-shot-hit) ) (else (vector-copy! (-> *launch-matrix* trans) (-> this root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 222)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-ashelin-shot-hit) ) ) 0 diff --git a/test/decompiler/reference/jak3/levels/common/enemy/darkprec/dp-bipedal-shot_REF.gc b/test/decompiler/reference/jak3/levels/common/enemy/darkprec/dp-bipedal-shot_REF.gc index cd8c2c1d86..62adf361f6 100644 --- a/test/decompiler/reference/jak3/levels/common/enemy/darkprec/dp-bipedal-shot_REF.gc +++ b/test/decompiler/reference/jak3/levels/common/enemy/darkprec/dp-bipedal-shot_REF.gc @@ -26,13 +26,13 @@ ;; WARN: Return type mismatch int vs none. (defmethod projectile-method-26 ((this dp-bipedal-grenade-shot)) (cond - ((logtest? (-> *part-group-id-table* 246 flags) (sp-group-flag sp13)) + ((logtest? (-> group-dp-bipedal-grenade-shot-hit flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> this root trans)) - (part-tracker-spawn part-tracker-subsampler :to this :group (-> *part-group-id-table* 246)) + (part-tracker-spawn part-tracker-subsampler :to this :group group-dp-bipedal-grenade-shot-hit) ) (else (vector-copy! (-> *launch-matrix* trans) (-> this root trans)) - (part-tracker-spawn part-tracker :to this :group (-> *part-group-id-table* 246)) + (part-tracker-spawn part-tracker :to this :group group-dp-bipedal-grenade-shot-hit) ) ) 0 @@ -239,7 +239,7 @@ (set! (-> this root dynam gravity y) 102400.0) (set! (-> this root dynam gravity-length) 102400.0) (set! (-> this root dynam gravity-max) 102400.0) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 245) this)) + (set! (-> this part) (create-launch-control group-dp-bipedal-grenade-shot this)) (set! (-> this sound-id) (new-sound-id)) (none) ) diff --git a/test/decompiler/reference/jak3/levels/common/enemy/darkprec/dp-bipedal_REF.gc b/test/decompiler/reference/jak3/levels/common/enemy/darkprec/dp-bipedal_REF.gc index 310081bdc6..b8e721c4e7 100644 --- a/test/decompiler/reference/jak3/levels/common/enemy/darkprec/dp-bipedal_REF.gc +++ b/test/decompiler/reference/jak3/levels/common/enemy/darkprec/dp-bipedal_REF.gc @@ -1639,13 +1639,13 @@ (set-time! (-> self effect-timer)) (set! (-> self effect-rate) 0.4) (cond - ((logtest? (-> *part-group-id-table* 242 flags) (sp-group-flag sp13)) + ((logtest? (-> group-dp-bipedal-ambush flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root root-prim prim-core world-sphere)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 242)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-dp-bipedal-ambush) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root root-prim prim-core world-sphere)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 242)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-dp-bipedal-ambush) ) ) (sound-play "dpbiped-ambush") @@ -3241,8 +3241,8 @@ ) (init-los! (-> this los) this (seconds 0.1) 327680.0 (collide-spec backgnd hit-by-others-list los-blocker)) (set! (-> this close-attack-timer) 0) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 244) this)) - (set! (-> this part-ambush) (create-launch-control (-> *part-group-id-table* 243) this)) + (set! (-> this part) (create-launch-control group-dp-bipedal-drip this)) + (set! (-> this part-ambush) (create-launch-control group-dp-bipedal-ambush-drip this)) (set! (-> this shield-sound-id) (new-sound-id)) (set! (-> this shield-handle) (the-as handle #f)) (vector-reset! (-> this focus-formation-source)) diff --git a/test/decompiler/reference/jak3/levels/common/enemy/darkprec/neo-wasp_REF.gc b/test/decompiler/reference/jak3/levels/common/enemy/darkprec/neo-wasp_REF.gc index 51c38ab179..96ec660512 100644 --- a/test/decompiler/reference/jak3/levels/common/enemy/darkprec/neo-wasp_REF.gc +++ b/test/decompiler/reference/jak3/levels/common/enemy/darkprec/neo-wasp_REF.gc @@ -708,13 +708,13 @@ (sound-play "wasp-explode") (spawn-debris self) (cond - ((logtest? (-> *part-group-id-table* 219 flags) (sp-group-flag sp13)) + ((logtest? (-> group-kg-explosion flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to self :group (-> *part-group-id-table* 219)) + (part-tracker-spawn part-tracker-subsampler :to self :group group-kg-explosion) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 219)) + (part-tracker-spawn part-tracker :to self :group group-kg-explosion) ) ) (while (-> self child) @@ -1256,8 +1256,8 @@ (set! (-> this path) (new 'process 'curve-control this 'intro -1000000000.0)) (set! (-> this path-u) 0.0) (logior! (-> this path flags) (path-control-flag display draw-line draw-point draw-text)) - (set! (-> this smoke-part) (create-launch-control (-> *part-group-id-table* 555) this)) - (set! (-> this engine-part) (create-launch-control (-> *part-group-id-table* 557) this)) + (set! (-> this smoke-part) (create-launch-control group-neo-wasp-gun-smoke this)) + (set! (-> this engine-part) (create-launch-control group-neo-wasp-engine this)) (set! (-> this minimap) #f) (add-connection *part-engine* diff --git a/test/decompiler/reference/jak3/levels/common/enemy/flitter_REF.gc b/test/decompiler/reference/jak3/levels/common/enemy/flitter_REF.gc index 8a7980359e..6252213139 100644 --- a/test/decompiler/reference/jak3/levels/common/enemy/flitter_REF.gc +++ b/test/decompiler/reference/jak3/levels/common/enemy/flitter_REF.gc @@ -732,13 +732,13 @@ ) :code (behavior () (cond - ((logtest? (-> *part-group-id-table* 1412 flags) (sp-group-flag sp13)) + ((logtest? (-> group-flitter-birth flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 1412)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-flitter-birth) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 1412)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-flitter-birth) ) ) (suspend-for (seconds 0.6) @@ -797,13 +797,13 @@ (until #f (when (< (-> self base-height) (-> self root trans y)) (cond - ((logtest? (-> *part-group-id-table* 257 flags) (sp-group-flag sp13)) + ((logtest? (-> group-flitter-dust-puff flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 257)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-flitter-dust-puff) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 257)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-flitter-dust-puff) ) ) (goto cfg-14) diff --git a/test/decompiler/reference/jak3/levels/common/enemy/hover/robo-hover_REF.gc b/test/decompiler/reference/jak3/levels/common/enemy/hover/robo-hover_REF.gc index 3c2e766110..a9ede2674c 100644 --- a/test/decompiler/reference/jak3/levels/common/enemy/hover/robo-hover_REF.gc +++ b/test/decompiler/reference/jak3/levels/common/enemy/hover/robo-hover_REF.gc @@ -1134,13 +1134,13 @@ ) (let ((v1-16 (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node robo-hover-lod0-jg chest)))) (cond - ((logtest? (-> *part-group-id-table* 219 flags) (sp-group-flag sp13)) + ((logtest? (-> group-kg-explosion flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) v1-16) - (part-tracker-spawn part-tracker-subsampler :to self :group (-> *part-group-id-table* 219)) + (part-tracker-spawn part-tracker-subsampler :to self :group group-kg-explosion) ) (else (vector-copy! (-> *launch-matrix* trans) v1-16) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 219)) + (part-tracker-spawn part-tracker :to self :group group-kg-explosion) ) ) ) @@ -1831,8 +1831,8 @@ (set! (-> this path) (new 'process 'path-control this 'path 0.0 (-> this entity) #f)) (set! (-> this path-u) 0.0) (logior! (-> this path flags) (path-control-flag display draw-line draw-point draw-text)) - (set! (-> this smoke-part) (create-launch-control (-> *part-group-id-table* 558) this)) - (set! (-> this engine-part) (create-launch-control (-> *part-group-id-table* 560) this)) + (set! (-> this smoke-part) (create-launch-control group-robo-gun-smoke this)) + (set! (-> this engine-part) (create-launch-control group-robo-engine this)) (add-connection *part-engine* this diff --git a/test/decompiler/reference/jak3/levels/common/enemy/kg-grunt_REF.gc b/test/decompiler/reference/jak3/levels/common/enemy/kg-grunt_REF.gc index 8fd861c627..49d84c420f 100644 --- a/test/decompiler/reference/jak3/levels/common/enemy/kg-grunt_REF.gc +++ b/test/decompiler/reference/jak3/levels/common/enemy/kg-grunt_REF.gc @@ -845,13 +845,13 @@ ) (let ((v1-6 (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node kg-grunt-lod0-jg chest)))) (cond - ((logtest? (-> *part-group-id-table* 220 flags) (sp-group-flag sp13)) + ((logtest? (-> group-kg-mid-explosion flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) v1-6) - (part-tracker-spawn part-tracker-subsampler :to self :group (-> *part-group-id-table* 220)) + (part-tracker-spawn part-tracker-subsampler :to self :group group-kg-mid-explosion) ) (else (vector-copy! (-> *launch-matrix* trans) v1-6) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 220)) + (part-tracker-spawn part-tracker :to self :group group-kg-mid-explosion) ) ) ) diff --git a/test/decompiler/reference/jak3/levels/common/enemy/mantis_REF.gc b/test/decompiler/reference/jak3/levels/common/enemy/mantis_REF.gc index af32447c7d..0726ef33fc 100644 --- a/test/decompiler/reference/jak3/levels/common/enemy/mantis_REF.gc +++ b/test/decompiler/reference/jak3/levels/common/enemy/mantis_REF.gc @@ -788,13 +788,13 @@ (vector-copy! v1-0 (-> self root trans)) (+! (-> v1-0 y) -18841.6) (cond - ((logtest? (-> *part-group-id-table* 1406 flags) (sp-group-flag sp13)) + ((logtest? (-> group-mantis-birth-nest flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) v1-0) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 1406)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-mantis-birth-nest) ) (else (vector-copy! (-> *launch-matrix* trans) v1-0) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 1406)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-mantis-birth-nest) ) ) ) diff --git a/test/decompiler/reference/jak3/levels/common/enemy/prebot-eco-creature_REF.gc b/test/decompiler/reference/jak3/levels/common/enemy/prebot-eco-creature_REF.gc index c1ffad6d27..6e42bf2262 100644 --- a/test/decompiler/reference/jak3/levels/common/enemy/prebot-eco-creature_REF.gc +++ b/test/decompiler/reference/jak3/levels/common/enemy/prebot-eco-creature_REF.gc @@ -1711,7 +1711,7 @@ (set! (-> this attack-stop-frame) 0.0) (set! (-> this which-trajectory) 0) (set! (-> this spin-jm) (new 'process 'joint-mod (joint-mod-mode joint-set*) this 3)) - (set! (-> this trail-part) (create-launch-control (-> *part-group-id-table* 440) this)) + (set! (-> this trail-part) (create-launch-control group-prebot-critter-trail this)) (set! (-> this flags) (eco-creature-flag)) (set! (-> this trail-sound) (new-sound-id)) (send-event (ppointer->process (-> this parent)) 'start-critter) @@ -2652,7 +2652,7 @@ (set! (-> this attack-stop-frame) 7.0) (when (type? this medium-eco-creature-launched) (set! (-> this spin-jm) (new 'process 'joint-mod (joint-mod-mode joint-set*) this 3)) - (set! (-> this trail-part) (create-launch-control (-> *part-group-id-table* 440) this)) + (set! (-> this trail-part) (create-launch-control group-prebot-critter-trail this)) (logclear! (-> this flags) (eco-creature-flag ecf3)) ) (set! (-> this flags) (eco-creature-flag)) @@ -3467,7 +3467,7 @@ (set! (-> this attack-stop-frame) 10.0) (when (type? this small-eco-creature-launched) (set! (-> this spin-jm) (new 'process 'joint-mod (joint-mod-mode joint-set*) this 3)) - (set! (-> this trail-part) (create-launch-control (-> *part-group-id-table* 440) this)) + (set! (-> this trail-part) (create-launch-control group-prebot-critter-trail this)) (logclear! (-> this flags) (eco-creature-flag ecf3)) ) (set! (-> this flags) (eco-creature-flag)) diff --git a/test/decompiler/reference/jak3/levels/common/enemy/roboguard_REF.gc b/test/decompiler/reference/jak3/levels/common/enemy/roboguard_REF.gc index 8f4442f62b..74b9f8feff 100644 --- a/test/decompiler/reference/jak3/levels/common/enemy/roboguard_REF.gc +++ b/test/decompiler/reference/jak3/levels/common/enemy/roboguard_REF.gc @@ -1049,19 +1049,19 @@ (let ((s3-0 (-> *roboguard-debris-array-params* (+ s5-0 -1)))) (debris-spawn self a1-2 s3-0 (the-as process-drawable #f)) (cond - ((logtest? (-> *part-group-id-table* 223 flags) (sp-group-flag sp13)) + ((logtest? (-> group-roboguard-armor-explode flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data (-> s3-0 joints 0 parent-joint-index))) ) - (part-tracker-spawn part-tracker-subsampler :to self :group (-> *part-group-id-table* 223)) + (part-tracker-spawn part-tracker-subsampler :to self :group group-roboguard-armor-explode) ) (else (vector-copy! (-> *launch-matrix* trans) (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data (-> s3-0 joints 0 parent-joint-index))) ) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 223)) + (part-tracker-spawn part-tracker :to self :group group-roboguard-armor-explode) ) ) ) @@ -1177,13 +1177,13 @@ ) (let ((v1-26 (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node roboguard-lod0-jg chest)))) (cond - ((logtest? (-> *part-group-id-table* 219 flags) (sp-group-flag sp13)) + ((logtest? (-> group-kg-explosion flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) v1-26) - (part-tracker-spawn part-tracker-subsampler :to self :group (-> *part-group-id-table* 219)) + (part-tracker-spawn part-tracker-subsampler :to self :group group-kg-explosion) ) (else (vector-copy! (-> *launch-matrix* trans) v1-26) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 219)) + (part-tracker-spawn part-tracker :to self :group group-kg-explosion) ) ) ) diff --git a/test/decompiler/reference/jak3/levels/common/enemy/spydroid-orig_REF.gc b/test/decompiler/reference/jak3/levels/common/enemy/spydroid-orig_REF.gc index 1236de7da3..4a4b5fa291 100644 --- a/test/decompiler/reference/jak3/levels/common/enemy/spydroid-orig_REF.gc +++ b/test/decompiler/reference/jak3/levels/common/enemy/spydroid-orig_REF.gc @@ -1089,13 +1089,13 @@ (let ((v1-25 (new 'stack-no-clear 'vector))) (vector-copy! v1-25 (-> self root trans)) (cond - ((logtest? (-> *part-group-id-table* 219 flags) (sp-group-flag sp13)) + ((logtest? (-> group-kg-explosion flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) v1-25) - (part-tracker-spawn part-tracker-subsampler :to self :group (-> *part-group-id-table* 219)) + (part-tracker-spawn part-tracker-subsampler :to self :group group-kg-explosion) ) (else (vector-copy! (-> *launch-matrix* trans) v1-25) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 219)) + (part-tracker-spawn part-tracker :to self :group group-kg-explosion) ) ) ) @@ -1723,8 +1723,8 @@ 0 (set-gravity-length (-> this root dynam) 573440.0) (logior! (-> this nav flags) (nav-control-flag momentum-ignore-heading)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 1521) this)) - (set! (-> this explode-part) (create-launch-control (-> *part-group-id-table* 1522) this)) + (set! (-> this part) (create-launch-control group-spydroid-orig-trail this)) + (set! (-> this explode-part) (create-launch-control group-spydroid-orig-explode this)) (add-connection *part-engine* this diff --git a/test/decompiler/reference/jak3/levels/common/enemy/spydroid_REF.gc b/test/decompiler/reference/jak3/levels/common/enemy/spydroid_REF.gc index 11717bfb5c..9ae77ac3fc 100644 --- a/test/decompiler/reference/jak3/levels/common/enemy/spydroid_REF.gc +++ b/test/decompiler/reference/jak3/levels/common/enemy/spydroid_REF.gc @@ -423,19 +423,19 @@ :enter (behavior () (sound-play "droid-explode") (cond - ((logtest? (-> *part-group-id-table* 221 flags) (sp-group-flag sp13)) + ((logtest? (-> group-kg-small-explosion flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (vector+float*! (new 'stack-no-clear 'vector) (-> self root trans) *up-vector* 2048.0) ) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 221)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-kg-small-explosion) ) (else (vector-copy! (-> *launch-matrix* trans) (vector+float*! (new 'stack-no-clear 'vector) (-> self root trans) *up-vector* 2048.0) ) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 221)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-kg-small-explosion) ) ) (if (not (-> *setting-control* user-current gun-special-mode)) @@ -465,13 +465,13 @@ ) (when (not (time-elapsed? (-> self state-time) (seconds 2))) (cond - ((logtest? (-> *part-group-id-table* 219 flags) (sp-group-flag sp13)) + ((logtest? (-> group-kg-explosion flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 219)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-kg-explosion) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 219)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-kg-explosion) ) ) ) diff --git a/test/decompiler/reference/jak3/levels/desert/artifact-race/artifact-race_REF.gc b/test/decompiler/reference/jak3/levels/desert/artifact-race/artifact-race_REF.gc index e0260de253..4099932f26 100644 --- a/test/decompiler/reference/jak3/levels/desert/artifact-race/artifact-race_REF.gc +++ b/test/decompiler/reference/jak3/levels/desert/artifact-race/artifact-race_REF.gc @@ -241,13 +241,13 @@ ) :code (behavior () (cond - ((logtest? (-> *part-group-id-table* 333 flags) (sp-group-flag sp13)) + ((logtest? (-> group-desert-dust-devil flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 333)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-desert-dust-devil) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 333)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-desert-dust-devil) ) ) (set-time! (-> self state-time)) diff --git a/test/decompiler/reference/jak3/levels/desert/boss/deswalk-obs_REF.gc b/test/decompiler/reference/jak3/levels/desert/boss/deswalk-obs_REF.gc index 6d9879f195..307bb252cb 100644 --- a/test/decompiler/reference/jak3/levels/desert/boss/deswalk-obs_REF.gc +++ b/test/decompiler/reference/jak3/levels/desert/boss/deswalk-obs_REF.gc @@ -215,7 +215,7 @@ ) (set! (-> this hit-points) 10.0) (set! (-> this incoming-attack-id) (the-as uint 0)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 442) this)) + (set! (-> this part) (create-launch-control group-dm-urchin-explosion this)) (go (method-of-object this idle)) ) @@ -478,7 +478,7 @@ ) (set! (-> this hit-points) 10.0) (set! (-> this incoming-attack-id) (the-as uint 0)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 441) this)) + (set! (-> this part) (create-launch-control group-desw-eco-tank-explosion this)) (go (method-of-object this idle)) ) @@ -575,7 +575,7 @@ (set! (-> self root) s5-0) ) (vector-copy! (-> self root trans) arg0) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 444) self)) + (set! (-> self part) (create-launch-control group-dm-tentacle-spores self)) (go-virtual idle) ) @@ -1240,98 +1240,98 @@ (when (not (logtest? (-> self flags) (dm-tentacle-flag dt7))) (sound-play "snake-blow" :position (-> self initial-position)) (activate! *camera-smush-control* 819.2 60 300 0.995 0.9 (-> *display* camera-clock)) - (if (logtest? (-> *part-group-id-table* 443 flags) (sp-group-flag sp13)) + (if (logtest? (-> group-dm-tentacle-explosion flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 443) + :group group-dm-tentacle-explosion :duration (seconds 1) :mat-joint (-> self node-list data 4 bone transform) ) (part-tracker-spawn part-tracker :to *entity-pool* - :group (-> *part-group-id-table* 443) + :group group-dm-tentacle-explosion :duration (seconds 1) :mat-joint (-> self node-list data 4 bone transform) ) ) - (if (logtest? (-> *part-group-id-table* 443 flags) (sp-group-flag sp13)) + (if (logtest? (-> group-dm-tentacle-explosion flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 443) + :group group-dm-tentacle-explosion :duration (seconds 1) :mat-joint (-> self node-list data 6 bone transform) ) (part-tracker-spawn part-tracker :to *entity-pool* - :group (-> *part-group-id-table* 443) + :group group-dm-tentacle-explosion :duration (seconds 1) :mat-joint (-> self node-list data 6 bone transform) ) ) - (if (logtest? (-> *part-group-id-table* 443 flags) (sp-group-flag sp13)) + (if (logtest? (-> group-dm-tentacle-explosion flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 443) + :group group-dm-tentacle-explosion :duration (seconds 1) :mat-joint (-> self node-list data 8 bone transform) ) (part-tracker-spawn part-tracker :to *entity-pool* - :group (-> *part-group-id-table* 443) + :group group-dm-tentacle-explosion :duration (seconds 1) :mat-joint (-> self node-list data 8 bone transform) ) ) - (if (logtest? (-> *part-group-id-table* 443 flags) (sp-group-flag sp13)) + (if (logtest? (-> group-dm-tentacle-explosion flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 443) + :group group-dm-tentacle-explosion :duration (seconds 1) :mat-joint (-> self node-list data 10 bone transform) ) (part-tracker-spawn part-tracker :to *entity-pool* - :group (-> *part-group-id-table* 443) + :group group-dm-tentacle-explosion :duration (seconds 1) :mat-joint (-> self node-list data 10 bone transform) ) ) - (if (logtest? (-> *part-group-id-table* 443 flags) (sp-group-flag sp13)) + (if (logtest? (-> group-dm-tentacle-explosion flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 443) + :group group-dm-tentacle-explosion :duration (seconds 1) :mat-joint (-> self node-list data 12 bone transform) ) (part-tracker-spawn part-tracker :to *entity-pool* - :group (-> *part-group-id-table* 443) + :group group-dm-tentacle-explosion :duration (seconds 1) :mat-joint (-> self node-list data 12 bone transform) ) ) - (if (logtest? (-> *part-group-id-table* 443 flags) (sp-group-flag sp13)) + (if (logtest? (-> group-dm-tentacle-explosion flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 443) + :group group-dm-tentacle-explosion :duration (seconds 1) :mat-joint (-> self node-list data 14 bone transform) ) (part-tracker-spawn part-tracker :to *entity-pool* - :group (-> *part-group-id-table* 443) + :group group-dm-tentacle-explosion :duration (seconds 1) :mat-joint (-> self node-list data 14 bone transform) ) @@ -1686,18 +1686,18 @@ (let ((gp-1 (new 'stack-no-clear 'matrix))) (matrix-identity! gp-1) (vector-copy! (-> gp-1 trans) (-> self initial-position)) - (if (logtest? (-> *part-group-id-table* 446 flags) (sp-group-flag sp13)) + (if (logtest? (-> group-dm-tentacle-retract flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 446) + :group group-dm-tentacle-retract :duration (seconds 1) :mat-joint gp-1 ) (part-tracker-spawn part-tracker :to *entity-pool* - :group (-> *part-group-id-table* 446) + :group group-dm-tentacle-retract :duration (seconds 1) :mat-joint gp-1 ) @@ -1730,18 +1730,18 @@ (let ((gp-0 (new 'stack-no-clear 'matrix))) (matrix-identity! gp-0) (vector-copy! (-> gp-0 trans) (-> self initial-position)) - (if (logtest? (-> *part-group-id-table* 445 flags) (sp-group-flag sp13)) + (if (logtest? (-> group-dm-tentacle-extend flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 445) + :group group-dm-tentacle-extend :duration (seconds 1) :mat-joint gp-0 ) (part-tracker-spawn part-tracker :to *entity-pool* - :group (-> *part-group-id-table* 445) + :group group-dm-tentacle-extend :duration (seconds 1) :mat-joint gp-0 ) @@ -1967,7 +1967,7 @@ (change-to a0-70 this) ) ) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 447) this)) + (set! (-> this part) (create-launch-control group-dm-tentacle-whip-hit-ground this)) (go (method-of-object this idle)) ) diff --git a/test/decompiler/reference/jak3/levels/desert/boss/terraformer-drone_REF.gc b/test/decompiler/reference/jak3/levels/desert/boss/terraformer-drone_REF.gc index 0eeabb7f0a..42f0975678 100644 --- a/test/decompiler/reference/jak3/levels/desert/boss/terraformer-drone_REF.gc +++ b/test/decompiler/reference/jak3/levels/desert/boss/terraformer-drone_REF.gc @@ -840,7 +840,7 @@ (quaternion-identity! (-> gp-1 spawn-quat)) (set! (-> gp-1 radius) 40960.0) (set! (-> gp-1 scale) 1.0) - (set! (-> gp-1 group) (-> *part-group-id-table* 428)) + (set! (-> gp-1 group) group-terraformer-drone-explosion) (set! (-> gp-1 collide-with) (collide-spec backgnd jak crate enemy obstacle vehicle-sphere hit-by-others-list player-list pusher shield) ) @@ -984,18 +984,18 @@ (format 0 "spawning impact part~%") (matrix-identity! gp-0) (vector-copy! (-> gp-0 trans) (-> self root trans)) - (if (logtest? (-> *part-group-id-table* 431 flags) (sp-group-flag sp13)) + (if (logtest? (-> group-terraformer-drone-impact flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 431) + :group group-terraformer-drone-impact :duration (seconds 1) :mat-joint gp-0 ) (part-tracker-spawn part-tracker :to *entity-pool* - :group (-> *part-group-id-table* 431) + :group group-terraformer-drone-impact :duration (seconds 1) :mat-joint gp-0 ) @@ -1270,7 +1270,7 @@ 0 (set-gravity-length (-> this root dynam) 573440.0) (logior! (-> this nav flags) (nav-control-flag momentum-ignore-heading)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 430) this)) + (set! (-> this part) (create-launch-control group-terraformer-drone-dust-up this)) pp (set! (-> this trail-part) (the-as diff --git a/test/decompiler/reference/jak3/levels/desert/boss/terraformer-head_REF.gc b/test/decompiler/reference/jak3/levels/desert/boss/terraformer-head_REF.gc index beeefd592b..65f47ebdb8 100644 --- a/test/decompiler/reference/jak3/levels/desert/boss/terraformer-head_REF.gc +++ b/test/decompiler/reference/jak3/levels/desert/boss/terraformer-head_REF.gc @@ -2351,13 +2351,13 @@ (terraformer-head-play-speech 3 self) (let ((gp-0 (get-trans self 3))) (cond - ((logtest? (-> *part-group-id-table* 217 flags) (sp-group-flag sp13)) + ((logtest? (-> group-kg-huge-explosion flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) gp-0) - (part-tracker-spawn part-tracker-subsampler :to self :group (-> *part-group-id-table* 217)) + (part-tracker-spawn part-tracker-subsampler :to self :group group-kg-huge-explosion) ) (else (vector-copy! (-> *launch-matrix* trans) gp-0) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 217)) + (part-tracker-spawn part-tracker :to self :group group-kg-huge-explosion) ) ) (sound-play "hit-boss-head" :position gp-0) diff --git a/test/decompiler/reference/jak3/levels/desert/boss/terraformer-setup_REF.gc b/test/decompiler/reference/jak3/levels/desert/boss/terraformer-setup_REF.gc index c8e9a2fb30..26641d4122 100644 --- a/test/decompiler/reference/jak3/levels/desert/boss/terraformer-setup_REF.gc +++ b/test/decompiler/reference/jak3/levels/desert/boss/terraformer-setup_REF.gc @@ -200,9 +200,9 @@ ) (vector+! (-> s3-0 trans) (-> s1-0 collision-pt) s4-0) (let ((v1-23 - (if (logtest? (-> *part-group-id-table* 435 flags) (sp-group-flag sp13)) - (part-tracker-spawn part-tracker-subsampler :to arg0 :group (-> *part-group-id-table* 435) :mat-joint s3-0) - (part-tracker-spawn part-tracker :to arg0 :group (-> *part-group-id-table* 435) :mat-joint s3-0) + (if (logtest? (-> group-terraformer-foot-mark flags) (sp-group-flag sp13)) + (part-tracker-spawn part-tracker-subsampler :to arg0 :group group-terraformer-foot-mark :mat-joint s3-0) + (part-tracker-spawn part-tracker :to arg0 :group group-terraformer-foot-mark :mat-joint s3-0) ) ) ) @@ -883,7 +883,7 @@ (quaternion-identity! (-> gp-0 spawn-quat)) (set! (-> gp-0 radius) 24576.0) (set! (-> gp-0 scale) 1.0) - (set! (-> gp-0 group) (-> *part-group-id-table* 218)) + (set! (-> gp-0 group) group-kg-big-explosion) (set! (-> gp-0 collide-with) (collide-spec)) (set! (-> gp-0 damage) 2.0) (set! (-> gp-0 damage-scale) 1.0) @@ -998,18 +998,18 @@ (let ((gp-1 (new 'stack-no-clear 'matrix))) (matrix-identity! gp-1) (vector-copy! (-> gp-1 trans) (-> self root trans)) - (if (logtest? (-> *part-group-id-table* 432 flags) (sp-group-flag sp13)) + (if (logtest? (-> group-terraformer-mine-dust flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 432) + :group group-terraformer-mine-dust :duration (seconds 1) :mat-joint gp-1 ) (part-tracker-spawn part-tracker :to *entity-pool* - :group (-> *part-group-id-table* 432) + :group group-terraformer-mine-dust :duration (seconds 1) :mat-joint gp-1 ) @@ -1149,7 +1149,7 @@ (quaternion-identity! (-> gp-0 spawn-quat)) (set! (-> gp-0 radius) 8192.0) (set! (-> gp-0 scale) 1.0) - (set! (-> gp-0 group) (-> *part-group-id-table* 218)) + (set! (-> gp-0 group) group-kg-big-explosion) (set! (-> gp-0 collide-with) (collide-spec)) (set! (-> gp-0 damage) 2.0) (set! (-> gp-0 damage-scale) 1.0) @@ -1373,8 +1373,8 @@ (set! (-> self mm-handle) (ppointer->handle (process-spawn terraformer-leg-minimap-dot :name "terraformer-leg-minimap-dot" :to self)) ) - (set! (-> self sand-drop-part) (create-launch-control (-> *part-group-id-table* 436) self)) - (set! (-> self water-drop-part) (create-launch-control (-> *part-group-id-table* 439) self)) + (set! (-> self sand-drop-part) (create-launch-control group-terraformer-foot-sand-drop self)) + (set! (-> self water-drop-part) (create-launch-control group-terraformer-foot-water-drop self)) ((method-of-type cam-float-seeker init) (-> self foot-lock lock) 0.0 0.005 0.04 0.9) (set! (-> self foot-lock initialized) #f) (set! (-> self foot-marks) (new 'process 'terraformer-foot-mark-pt-array)) @@ -1539,18 +1539,18 @@ (matrix-identity! s5-2) (vector-copy! (-> s5-2 trans) gp-1) (set! (-> s5-2 trans y) 37273.6) - (if (logtest? (-> *part-group-id-table* 437 flags) (sp-group-flag sp13)) + (if (logtest? (-> group-terraformer-foot-splash flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 437) + :group group-terraformer-foot-splash :duration (seconds 1) :mat-joint s5-2 ) (part-tracker-spawn part-tracker :to *entity-pool* - :group (-> *part-group-id-table* 437) + :group group-terraformer-foot-splash :duration (seconds 1) :mat-joint s5-2 ) @@ -1560,18 +1560,18 @@ ) (else (set! (-> self stepped-in-water) #f) - (if (logtest? (-> *part-group-id-table* 433 flags) (sp-group-flag sp13)) + (if (logtest? (-> group-terraformer-stomp-foot flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 433) + :group group-terraformer-stomp-foot :duration (seconds 1) :mat-joint s4-1 ) (part-tracker-spawn part-tracker :to *entity-pool* - :group (-> *part-group-id-table* 433) + :group group-terraformer-stomp-foot :duration (seconds 1) :mat-joint s4-1 ) @@ -1809,28 +1809,28 @@ (cond ((-> self stepped-in-water) (set! (-> s5-3 trans y) 37273.6) - (if (logtest? (-> *part-group-id-table* 438 flags) (sp-group-flag sp13)) + (if (logtest? (-> group-terraformer-lift-foot-from-water flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 438) + :group group-terraformer-lift-foot-from-water :duration (seconds 1) :mat-joint s5-3 ) (part-tracker-spawn part-tracker :to *entity-pool* - :group (-> *part-group-id-table* 438) + :group group-terraformer-lift-foot-from-water :duration (seconds 1) :mat-joint s5-3 ) ) ) - ((begin (+! (-> s5-3 trans y) 4096.0) (logtest? (-> *part-group-id-table* 434 flags) (sp-group-flag sp13))) + ((begin (+! (-> s5-3 trans y) 4096.0) (logtest? (-> group-terraformer-lift-foot flags) (sp-group-flag sp13))) (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 434) + :group group-terraformer-lift-foot :duration (seconds 1) :mat-joint s5-3 ) @@ -1839,7 +1839,7 @@ (part-tracker-spawn part-tracker :to *entity-pool* - :group (-> *part-group-id-table* 434) + :group group-terraformer-lift-foot :duration (seconds 1) :mat-joint s5-3 ) diff --git a/test/decompiler/reference/jak3/levels/desert/chase/desert-chase_REF.gc b/test/decompiler/reference/jak3/levels/desert/chase/desert-chase_REF.gc index 4cd3877b63..1ee02bc56d 100644 --- a/test/decompiler/reference/jak3/levels/desert/chase/desert-chase_REF.gc +++ b/test/decompiler/reference/jak3/levels/desert/chase/desert-chase_REF.gc @@ -189,18 +189,13 @@ (set! (-> this ptracker-proc) (process->handle (-> (cond - ((logtest? (-> *part-group-id-table* 454 flags) (sp-group-flag sp13)) + ((logtest? (-> group-catapult-embers-fire flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> this root trans)) - (part-tracker-spawn - part-tracker-subsampler - :to this - :group (-> *part-group-id-table* 454) - :duration (seconds 3) - ) + (part-tracker-spawn part-tracker-subsampler :to this :group group-catapult-embers-fire :duration (seconds 3)) ) (else (vector-copy! (-> *launch-matrix* trans) (-> this root trans)) - (part-tracker-spawn part-tracker :to this :group (-> *part-group-id-table* 454) :duration (seconds 3)) + (part-tracker-spawn part-tracker :to this :group group-catapult-embers-fire :duration (seconds 3)) ) ) 0 @@ -230,7 +225,7 @@ (let ((f0-5 1092.2667)) (quaternion-axis-angle! (-> this tumble-quat) 1.0 0.0 0.0 f0-5) ) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 454) this)) + (set! (-> this part) (create-launch-control group-catapult-embers-fire this)) (set! (-> this ptracker-proc) (the-as handle #f)) (none) ) @@ -350,13 +345,13 @@ (('die) (activate! *camera-smush-control* 2048.0 30 150 1.0 0.8 (-> *display* camera-clock)) (cond - ((logtest? (-> *part-group-id-table* 456 flags) (sp-group-flag sp13)) + ((logtest? (-> group-catapult-target-scorched-earth flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 456)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-catapult-target-scorched-earth) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 456)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-catapult-target-scorched-earth) ) ) (let ((gp-2 (quaternion-copy! (new 'stack-no-clear 'quaternion) (-> self root quat))) @@ -429,7 +424,7 @@ (defbehavior catapult-target-init-by-other catapult-target ((arg0 vector)) (set! (-> self root) (new 'process 'trsqv)) (vector-copy! (-> self root trans) arg0) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 455) self)) + (set! (-> self part) (create-launch-control group-catapult-target-glow self)) (go-virtual idle) ) diff --git a/test/decompiler/reference/jak3/levels/desert/chase/desert-jump_REF.gc b/test/decompiler/reference/jak3/levels/desert/chase/desert-jump_REF.gc index dbdd15e21d..d7129bfb56 100644 --- a/test/decompiler/reference/jak3/levels/desert/chase/desert-jump_REF.gc +++ b/test/decompiler/reference/jak3/levels/desert/chase/desert-jump_REF.gc @@ -1294,11 +1294,11 @@ (set! (-> (the-as wvehicle s2-1) minimap) (add-icon! *minimap* s2-1 (the-as uint 128) (the-as int #f) (the-as vector #t) 0) ) - (if (logtest? (-> *part-group-id-table* 453 flags) (sp-group-flag sp13)) + (if (logtest? (-> group-kamikaze-interceptor-fire flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to s2-1 - :group (-> *part-group-id-table* 453) + :group group-kamikaze-interceptor-fire :duration -1 :callback (the-as (function part-tracker vector) part-tracker-check-parent) :target s2-1 @@ -1307,7 +1307,7 @@ (part-tracker-spawn part-tracker :to s2-1 - :group (-> *part-group-id-table* 453) + :group group-kamikaze-interceptor-fire :duration -1 :callback (the-as (function part-tracker vector) part-tracker-check-parent) :target s2-1 diff --git a/test/decompiler/reference/jak3/levels/desert/chase/wcar-catapult_REF.gc b/test/decompiler/reference/jak3/levels/desert/chase/wcar-catapult_REF.gc index 356c4517ff..6de559337d 100644 --- a/test/decompiler/reference/jak3/levels/desert/chase/wcar-catapult_REF.gc +++ b/test/decompiler/reference/jak3/levels/desert/chase/wcar-catapult_REF.gc @@ -1552,13 +1552,13 @@ ;; WARN: Return type mismatch int vs none. (defmethod projectile-method-26 ((this v-catapult-shot)) (cond - ((logtest? (-> *part-group-id-table* 452 flags) (sp-group-flag sp13)) + ((logtest? (-> group-v-catapult-shot-explosion flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> this root trans)) - (part-tracker-spawn part-tracker-subsampler :to this :group (-> *part-group-id-table* 452)) + (part-tracker-spawn part-tracker-subsampler :to this :group group-v-catapult-shot-explosion) ) (else (vector-copy! (-> *launch-matrix* trans) (-> this root trans)) - (part-tracker-spawn part-tracker :to this :group (-> *part-group-id-table* 452)) + (part-tracker-spawn part-tracker :to this :group group-v-catapult-shot-explosion) ) ) 0 @@ -1621,7 +1621,7 @@ (let ((f0-5 1092.2667)) (quaternion-axis-angle! (-> this tumble-quat) 1.0 0.0 0.0 f0-5) ) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 450) this)) + (set! (-> this part) (create-launch-control group-v-catapult-shot this)) pp (set! (-> this trail-part) (the-as @@ -1759,18 +1759,18 @@ ) (vector+! v1-79 (-> s5-2 transform trans) v1-79) (cond - ((logtest? (-> *part-group-id-table* 448 flags) (sp-group-flag sp13)) + ((logtest? (-> group-v-catapult-shot-chargeup flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) v1-79) (part-tracker-spawn part-tracker-subsampler :to this - :group (-> *part-group-id-table* 448) + :group group-v-catapult-shot-chargeup :duration (seconds 4) ) ) (else (vector-copy! (-> *launch-matrix* trans) v1-79) - (part-tracker-spawn part-tracker :to this :group (-> *part-group-id-table* 448) :duration (seconds 4)) + (part-tracker-spawn part-tracker :to this :group group-v-catapult-shot-chargeup :duration (seconds 4)) ) ) ) @@ -2011,13 +2011,13 @@ ) ) (cond - ((logtest? (-> *part-group-id-table* 452 flags) (sp-group-flag sp13)) + ((logtest? (-> group-v-catapult-shot-explosion flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) s5-0) - (part-tracker-spawn part-tracker-subsampler :to this :group (-> *part-group-id-table* 452)) + (part-tracker-spawn part-tracker-subsampler :to this :group group-v-catapult-shot-explosion) ) (else (vector-copy! (-> *launch-matrix* trans) s5-0) - (part-tracker-spawn part-tracker :to this :group (-> *part-group-id-table* 452)) + (part-tracker-spawn part-tracker :to this :group group-v-catapult-shot-explosion) ) ) (if (and *target* (nonzero? (-> *target* pilot))) @@ -2341,7 +2341,7 @@ (set! (-> this eng-pitch-offset) (rand-vu-float-range -0.5 0.5)) (set! (-> this launch-projectile?) #f) (set! (-> this notify-handle) (the-as handle #f)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 449) this)) + (set! (-> this part) (create-launch-control group-v-catapult-shot-idle this)) (set! (-> this spawn-part?) #t) (set! (-> this exploding?) #f) 0 diff --git a/test/decompiler/reference/jak3/levels/desert/des-burning-bush_REF.gc b/test/decompiler/reference/jak3/levels/desert/des-burning-bush_REF.gc index 86399299e9..707b69349d 100644 --- a/test/decompiler/reference/jak3/levels/desert/des-burning-bush_REF.gc +++ b/test/decompiler/reference/jak3/levels/desert/des-burning-bush_REF.gc @@ -1001,8 +1001,8 @@ ) (set! (-> this angle) 0.0) (set! (-> this root pause-adjust-distance) 819200.0) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 380) this)) - (set! (-> this part-off) (create-launch-control (-> *part-group-id-table* 379) this)) + (set! (-> this part) (create-launch-control group-desert-totem-eye-glow-pre this)) + (set! (-> this part-off) (create-launch-control group-desert-totem-eye-glow this)) (transform-post) (go (method-of-object this idle)) ) @@ -1461,8 +1461,8 @@ ) (set! (-> this angle) 0.0) (set! (-> this root pause-adjust-distance) 819200.0) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 381) this)) - (set! (-> this part-off) (create-launch-control (-> *part-group-id-table* 382) this)) + (set! (-> this part) (create-launch-control group-wascity-burning-bush-holo-on this)) + (set! (-> this part-off) (create-launch-control group-wascity-burning-bush-holo-off this)) (transform-post) (go (method-of-object this idle)) ) diff --git a/test/decompiler/reference/jak3/levels/desert/des-bush_REF.gc b/test/decompiler/reference/jak3/levels/desert/des-bush_REF.gc index 3b4644b21a..c9b8a59886 100644 --- a/test/decompiler/reference/jak3/levels/desert/des-bush_REF.gc +++ b/test/decompiler/reference/jak3/levels/desert/des-bush_REF.gc @@ -1135,26 +1135,21 @@ :enter (behavior () (cond ((-> self is-final?) - (if (logtest? (-> *part-group-id-table* 1552 flags) (sp-group-flag sp13)) + (if (logtest? (-> group-desert-ring-birth-final flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to self - :group (-> *part-group-id-table* 1552) + :group group-desert-ring-birth-final :mat-joint (-> self mat) ) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 1552) :mat-joint (-> self mat)) + (part-tracker-spawn part-tracker :to self :group group-desert-ring-birth-final :mat-joint (-> self mat)) ) ) - ((logtest? (-> *part-group-id-table* 1551 flags) (sp-group-flag sp13)) - (part-tracker-spawn - part-tracker-subsampler - :to self - :group (-> *part-group-id-table* 1551) - :mat-joint (-> self mat) - ) + ((logtest? (-> group-desert-ring-birth flags) (sp-group-flag sp13)) + (part-tracker-spawn part-tracker-subsampler :to self :group group-desert-ring-birth :mat-joint (-> self mat)) ) (else - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 1551) :mat-joint (-> self mat)) + (part-tracker-spawn part-tracker :to self :group group-desert-ring-birth :mat-joint (-> self mat)) ) ) (sound-play "ring-create") @@ -1194,26 +1189,26 @@ ) (cond ((-> self is-final?) - (if (logtest? (-> *part-group-id-table* 1550 flags) (sp-group-flag sp13)) + (if (logtest? (-> group-desert-ring-explode-final flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to self - :group (-> *part-group-id-table* 1550) + :group group-desert-ring-explode-final :mat-joint (-> self mat) ) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 1550) :mat-joint (-> self mat)) + (part-tracker-spawn part-tracker :to self :group group-desert-ring-explode-final :mat-joint (-> self mat)) ) ) - ((logtest? (-> *part-group-id-table* 1549 flags) (sp-group-flag sp13)) + ((logtest? (-> group-desert-ring-explode flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to self - :group (-> *part-group-id-table* 1549) + :group group-desert-ring-explode :mat-joint (-> self mat) ) ) (else - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 1549) :mat-joint (-> self mat)) + (part-tracker-spawn part-tracker :to self :group group-desert-ring-explode :mat-joint (-> self mat)) ) ) (go-virtual die) @@ -1296,8 +1291,8 @@ (set! (-> this ring-radius) (res-lump-float arg0 'ring-radius :default 24576.0)) (quaternion->matrix (-> this mat) (-> this root quat)) (vector-copy! (-> this mat trans) (-> this root trans)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 1547) this)) - (set! (-> this part-final) (create-launch-control (-> *part-group-id-table* 1548) this)) + (set! (-> this part) (create-launch-control group-desert-ring this)) + (set! (-> this part-final) (create-launch-control group-desert-ring-final this)) (logclear! (-> this mask) (process-mask actor-pause)) (set! (-> this alt-actor) (entity-actor-lookup (-> this entity) 'alt-actor 0)) (set! (-> this is-final?) #f) @@ -1344,13 +1339,13 @@ :virtual #t :enter (behavior () (cond - ((logtest? (-> *part-group-id-table* 1546 flags) (sp-group-flag sp13)) + ((logtest? (-> group-spirit-explode flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to self :group (-> *part-group-id-table* 1546)) + (part-tracker-spawn part-tracker-subsampler :to self :group group-spirit-explode) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 1546)) + (part-tracker-spawn part-tracker :to self :group group-spirit-explode) ) ) ) @@ -1456,12 +1451,12 @@ (vector-copy! (-> self root trans) arg0) (set! (-> self sound-id) (new-sound-id)) (set! (-> self sound-id-2) (new-sound-id)) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 1541) self)) + (set! (-> self part) (create-launch-control group-bb-ring-finder self)) self (set! (-> self part-subsampler) (new 'process 'sparticle-subsampler *sp-particle-system-2d* (-> *part-id-table* 5117) 3.0) ) - (set! (-> self goal-part) (create-launch-control (-> *part-group-id-table* 1540) self)) + (set! (-> self goal-part) (create-launch-control group-spirit-goal self)) (set! (-> self draw-start-goal?) #t) (go-virtual dormant) ) @@ -2787,16 +2782,16 @@ (logclear! (-> self mask) (process-mask actor-pause)) (cond ((= (-> arg0 etype) bb-score-a-pickup) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 1545) self)) + (set! (-> self part) (create-launch-control group-score-drop-a self)) (set! (-> self bb-score-type) (bb-score-type small)) 0 ) ((= (-> arg0 etype) bb-score-b-pickup) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 1544) self)) + (set! (-> self part) (create-launch-control group-score-drop-b self)) (set! (-> self bb-score-type) (bb-score-type medium)) ) (else - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 1543) self)) + (set! (-> self part) (create-launch-control group-score-drop-c self)) (set! (-> self bb-score-type) (bb-score-type large)) ) ) diff --git a/test/decompiler/reference/jak3/levels/desert/des-cactus_REF.gc b/test/decompiler/reference/jak3/levels/desert/des-cactus_REF.gc index 190353456c..03dc6a40a6 100644 --- a/test/decompiler/reference/jak3/levels/desert/des-cactus_REF.gc +++ b/test/decompiler/reference/jak3/levels/desert/des-cactus_REF.gc @@ -339,18 +339,18 @@ (when gp-2 (let ((s5-2 (-> self exploder-params))) (dotimes (s4-1 (-> s5-2 joints length)) - (if (logtest? (-> *part-group-id-table* 1231 flags) (sp-group-flag sp13)) + (if (logtest? (-> group-des-big-cactus-explode flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to gp-2 - :group (-> *part-group-id-table* 1231) + :group group-des-big-cactus-explode :target (the-as process-drawable gp-2) :mat-joint (-> s5-2 joints s4-1 joint-index) ) (part-tracker-spawn part-tracker :to gp-2 - :group (-> *part-group-id-table* 1231) + :group group-des-big-cactus-explode :target (the-as process-drawable gp-2) :mat-joint (-> s5-2 joints s4-1 joint-index) ) diff --git a/test/decompiler/reference/jak3/levels/desert/desertg-obs_REF.gc b/test/decompiler/reference/jak3/levels/desert/desertg-obs_REF.gc index 5f850752da..d81f56ad27 100644 --- a/test/decompiler/reference/jak3/levels/desert/desertg-obs_REF.gc +++ b/test/decompiler/reference/jak3/levels/desert/desertg-obs_REF.gc @@ -321,13 +321,13 @@ ) ) (cond - ((logtest? (-> *part-group-id-table* 1232 flags) (sp-group-flag sp13)) + ((logtest? (-> group-des-cactus-explode flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) gp-1) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 1232)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-des-cactus-explode) ) (else (vector-copy! (-> *launch-matrix* trans) gp-1) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 1232)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-des-cactus-explode) ) ) ) diff --git a/test/decompiler/reference/jak3/levels/desert/hover/des-beast-2_REF.gc b/test/decompiler/reference/jak3/levels/desert/hover/des-beast-2_REF.gc index 7e060b7bba..a702150bd1 100644 --- a/test/decompiler/reference/jak3/levels/desert/hover/des-beast-2_REF.gc +++ b/test/decompiler/reference/jak3/levels/desert/hover/des-beast-2_REF.gc @@ -294,8 +294,8 @@ (set! (-> gp-0 radius) (-> self blast-radius)) (set! (-> gp-0 scale) 1.0) (set! (-> gp-0 group) (if (-> self blast-damage) - (-> *part-group-id-table* 411) - (-> *part-group-id-table* 412) + group-grenade-shot-explode + group-grenade-shot-explode-in-air ) ) (set! (-> gp-0 collide-with) @@ -460,7 +460,7 @@ (none) ) ) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 413) this)) + (set! (-> this part) (create-launch-control group-beast-grenade-glow this)) (set! (-> this blast-radius) 163840.0) (set! (-> this max-speed) 122880.0) (set! (-> this timeout) (seconds 6)) diff --git a/test/decompiler/reference/jak3/levels/desert/hover/des-beast_REF.gc b/test/decompiler/reference/jak3/levels/desert/hover/des-beast_REF.gc index 61bc70f466..2d4a0ceeae 100644 --- a/test/decompiler/reference/jak3/levels/desert/hover/des-beast_REF.gc +++ b/test/decompiler/reference/jak3/levels/desert/hover/des-beast_REF.gc @@ -1027,7 +1027,7 @@ (let ((t9-2 (method-of-type projectile-bounce init-proj-settings!))) (t9-2 this) ) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 413) this)) + (set! (-> this part) (create-launch-control group-beast-grenade-glow this)) (set! (-> this blast-radius) 40960.0) (set! (-> this max-speed) 90112.0) (set! (-> this timeout) (seconds 4)) @@ -1135,7 +1135,7 @@ (quaternion-identity! (-> gp-0 spawn-quat)) (set! (-> gp-0 radius) (-> self blast-radius)) (set! (-> gp-0 scale) 1.0) - (set! (-> gp-0 group) (-> *part-group-id-table* 411)) + (set! (-> gp-0 group) group-grenade-shot-explode) (set! (-> gp-0 collide-with) (collide-spec backgnd jak crate civilian enemy obstacle vehicle-sphere hit-by-others-list player-list pusher) ) @@ -2679,7 +2679,7 @@ (set! (-> this manager) (the-as handle #f)) (init-enemy! this) (vector-copy! (-> this root trans) (-> this des-path node 0 position)) - (set! (-> this hit-part) (create-launch-control (-> *part-group-id-table* 414) this)) + (set! (-> this hit-part) (create-launch-control group-beast-hit this)) (des-beast-method-166 this) (go-fallback-init this) ) @@ -2694,7 +2694,7 @@ (vector-copy! (-> self root trans) (-> arg2 node 0 position)) (quaternion-copy! (-> self root quat) arg3) (set! (-> self des-path) arg2) - (set! (-> self hit-part) (create-launch-control (-> *part-group-id-table* 414) self)) + (set! (-> self hit-part) (create-launch-control group-beast-hit self)) (init-enemy! self) (des-beast-method-166 self) (go-fallback-init self) diff --git a/test/decompiler/reference/jak3/levels/desert/hover/mh-flyer_REF.gc b/test/decompiler/reference/jak3/levels/desert/hover/mh-flyer_REF.gc index 6c175b04d5..33d7f2fa2b 100644 --- a/test/decompiler/reference/jak3/levels/desert/hover/mh-flyer_REF.gc +++ b/test/decompiler/reference/jak3/levels/desert/hover/mh-flyer_REF.gc @@ -221,7 +221,7 @@ (quaternion-identity! (-> gp-0 spawn-quat)) (set! (-> gp-0 radius) 40960.0) (set! (-> gp-0 scale) 1.0) - (set! (-> gp-0 group) (-> *part-group-id-table* 411)) + (set! (-> gp-0 group) group-grenade-shot-explode) (set! (-> gp-0 collide-with) (collide-spec backgnd jak crate civilian enemy obstacle vehicle-sphere hit-by-others-list player-list pusher) ) @@ -302,23 +302,23 @@ (cond ((-> this hit-actor?) (cond - ((logtest? (-> *part-group-id-table* 102 flags) (sp-group-flag sp13)) + ((logtest? (-> group-gun-yellow-shot-hit-object flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> this root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 102)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-gun-yellow-shot-hit-object) ) (else (vector-copy! (-> *launch-matrix* trans) (-> this root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 102)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-gun-yellow-shot-hit-object) ) ) ) - ((logtest? (-> *part-group-id-table* 101 flags) (sp-group-flag sp13)) + ((logtest? (-> group-gun-yellow-shot-hit flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> this root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 101)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-gun-yellow-shot-hit) ) (else (vector-copy! (-> *launch-matrix* trans) (-> this root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 101)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-gun-yellow-shot-hit) ) ) ) diff --git a/test/decompiler/reference/jak3/levels/desert/hover/scorpion-gun_REF.gc b/test/decompiler/reference/jak3/levels/desert/hover/scorpion-gun_REF.gc index 2a22a78e16..773acae37f 100644 --- a/test/decompiler/reference/jak3/levels/desert/hover/scorpion-gun_REF.gc +++ b/test/decompiler/reference/jak3/levels/desert/hover/scorpion-gun_REF.gc @@ -801,13 +801,13 @@ ) ) (cond - ((logtest? (-> *part-group-id-table* 228 flags) (sp-group-flag sp13)) + ((logtest? (-> group-gun-scorp-shot-hit flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> this root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 228)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-gun-scorp-shot-hit) ) (else (vector-copy! (-> *launch-matrix* trans) (-> this root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 228)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-gun-scorp-shot-hit) ) ) 0 @@ -1392,21 +1392,15 @@ (let ((s5-1 (new 'stack-no-clear 'matrix))) (matrix-copy! s5-1 (-> gp-0 bone transform)) (matrix->trans (-> gp-0 bone transform) (-> s5-1 trans)) - (if (logtest? (-> *part-group-id-table* 227 flags) (sp-group-flag sp13)) + (if (logtest? (-> group-gun-scorp-shells flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 227) - :duration 1 - :mat-joint s5-1 - ) - (part-tracker-spawn - part-tracker - :to *entity-pool* - :group (-> *part-group-id-table* 227) + :group group-gun-scorp-shells :duration 1 :mat-joint s5-1 ) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-gun-scorp-shells :duration 1 :mat-joint s5-1) ) ) ) diff --git a/test/decompiler/reference/jak3/levels/desert/race/course-race_REF.gc b/test/decompiler/reference/jak3/levels/desert/race/course-race_REF.gc index 912c04847d..69ec173221 100644 --- a/test/decompiler/reference/jak3/levels/desert/race/course-race_REF.gc +++ b/test/decompiler/reference/jak3/levels/desert/race/course-race_REF.gc @@ -926,7 +926,7 @@ (update-transforms (-> this root)) (let ((v1-15 (res-lump-value arg0 'particle-select uint128 :time -1000000000.0))) (if (= (the-as uint v1-15) 1) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 339) this)) + (set! (-> this part) (create-launch-control group-desert-bollard-fire this)) ) ) (go (method-of-object this idle)) diff --git a/test/decompiler/reference/jak3/levels/desert/rescue/neo-satellite_REF.gc b/test/decompiler/reference/jak3/levels/desert/rescue/neo-satellite_REF.gc index 31ed100d75..bd1b81dcae 100644 --- a/test/decompiler/reference/jak3/levels/desert/rescue/neo-satellite_REF.gc +++ b/test/decompiler/reference/jak3/levels/desert/rescue/neo-satellite_REF.gc @@ -1614,11 +1614,11 @@ ) (set! (-> self ropes length) (-> self ropes allocated-length)) (set! (-> self tentacle) (new 'process 'rope-joint-system)) - (set! (-> self damage-part1) (create-launch-control (-> *part-group-id-table* 423) self)) - (set! (-> self damage-part2) (create-launch-control (-> *part-group-id-table* 424) self)) - (set! (-> self damage-part3) (create-launch-control (-> *part-group-id-table* 425) self)) - (set! (-> self burst-dust-part) (create-launch-control (-> *part-group-id-table* 419) self)) - (set! (-> self antenna-explode-part) (create-launch-control (-> *part-group-id-table* 422) self)) + (set! (-> self damage-part1) (create-launch-control group-neo-sat-damage-light self)) + (set! (-> self damage-part2) (create-launch-control group-neo-sat-damage-medium self)) + (set! (-> self damage-part3) (create-launch-control group-neo-sat-damage-heavy self)) + (set! (-> self burst-dust-part) (create-launch-control group-neo-sat-ground-emerge self)) + (set! (-> self antenna-explode-part) (create-launch-control group-neo-sat-antenna-explode self)) (dotimes (gp-4 (-> *neo-sat-laser-array* length)) (init (-> self spine-joint-mods gp-4) @@ -1759,9 +1759,9 @@ (s5-0 (matrix-f-u-compose (new 'stack-no-clear 'matrix) a1-2 *up-vector*)) ) (vector-copy! (-> s5-0 trans) (-> this root trans)) - (if (logtest? (-> *part-group-id-table* 421 flags) (sp-group-flag sp13)) - (part-tracker-spawn part-tracker-subsampler :to this :group (-> *part-group-id-table* 421) :mat-joint s5-0) - (part-tracker-spawn part-tracker :to this :group (-> *part-group-id-table* 421) :mat-joint s5-0) + (if (logtest? (-> group-neo-sat-debris-fly flags) (sp-group-flag sp13)) + (part-tracker-spawn part-tracker-subsampler :to this :group group-neo-sat-debris-fly :mat-joint s5-0) + (part-tracker-spawn part-tracker :to this :group group-neo-sat-debris-fly :mat-joint s5-0) ) ) (when (>= 0.0 (-> this hit-points)) @@ -3060,13 +3060,13 @@ (cpad-set-buzz! (-> *cpad-list* cpads 0) 1 229 (seconds 0.5)) (send-event (handle->process (-> self warp-handle)) 'turn-off) (cond - ((logtest? (-> *part-group-id-table* 418 flags) (sp-group-flag sp13)) + ((logtest? (-> group-neo-sat-ground-impact flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to self :group (-> *part-group-id-table* 418)) + (part-tracker-spawn part-tracker-subsampler :to self :group group-neo-sat-ground-impact) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 418)) + (part-tracker-spawn part-tracker :to self :group group-neo-sat-ground-impact) ) ) (sound-play "sat-in-ground") @@ -3328,13 +3328,13 @@ (logclear! (-> self enemy-flags) (enemy-flag vulnerable)) (logclear! (-> self focus-status) (focus-status dangerous)) (cond - ((logtest? (-> *part-group-id-table* 420 flags) (sp-group-flag sp13)) + ((logtest? (-> group-neo-sat-ground-dust flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to self :group (-> *part-group-id-table* 420)) + (part-tracker-spawn part-tracker-subsampler :to self :group group-neo-sat-ground-dust) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 420)) + (part-tracker-spawn part-tracker :to self :group group-neo-sat-ground-dust) ) ) (set-time! (-> self state-time)) @@ -3403,13 +3403,13 @@ (set! hand (process->handle (-> (cond - ((logtest? (-> *part-group-id-table* 427 flags) (sp-group-flag sp13)) + ((logtest? (-> group-neo-satellite-buildup flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 427)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-neo-satellite-buildup) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 427)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-neo-satellite-buildup) ) ) 0 @@ -3428,13 +3428,13 @@ (send-event (handle->process hand) 'die) ) (cond - ((logtest? (-> *part-group-id-table* 426 flags) (sp-group-flag sp13)) + ((logtest? (-> group-neo-satellite-explode flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 426)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-neo-satellite-explode) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 426)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-neo-satellite-explode) ) ) (let ((gp-6 (current-time))) @@ -3461,13 +3461,13 @@ (sound-play "sat-out-ground") (send-event (handle->process (-> self warp-handle)) 'turn-on) (cond - ((logtest? (-> *part-group-id-table* 420 flags) (sp-group-flag sp13)) + ((logtest? (-> group-neo-sat-ground-dust flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to self :group (-> *part-group-id-table* 420)) + (part-tracker-spawn part-tracker-subsampler :to self :group group-neo-sat-ground-dust) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 420)) + (part-tracker-spawn part-tracker :to self :group group-neo-sat-ground-dust) ) ) (let ((v1-40 self)) diff --git a/test/decompiler/reference/jak3/levels/desert/wvehicle/wcar-projectiles_REF.gc b/test/decompiler/reference/jak3/levels/desert/wvehicle/wcar-projectiles_REF.gc index 0220dd95dc..e3c58c469d 100644 --- a/test/decompiler/reference/jak3/levels/desert/wvehicle/wcar-projectiles_REF.gc +++ b/test/decompiler/reference/jak3/levels/desert/wvehicle/wcar-projectiles_REF.gc @@ -81,13 +81,13 @@ ) ) (cond - ((logtest? (-> *part-group-id-table* 228 flags) (sp-group-flag sp13)) + ((logtest? (-> group-gun-scorp-shot-hit flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> this root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 228)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-gun-scorp-shot-hit) ) (else (vector-copy! (-> *launch-matrix* trans) (-> this root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 228)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-gun-scorp-shot-hit) ) ) ) @@ -363,23 +363,23 @@ (cond ((-> this hit-actor?) (cond - ((logtest? (-> *part-group-id-table* 211 flags) (sp-group-flag sp13)) + ((logtest? (-> group-guard-shot-hit-object flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) v1-1) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 211)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-guard-shot-hit-object) ) (else (vector-copy! (-> *launch-matrix* trans) v1-1) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 211)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-guard-shot-hit-object) ) ) ) - ((logtest? (-> *part-group-id-table* 212 flags) (sp-group-flag sp13)) + ((logtest? (-> group-guard-shot-hit flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) v1-1) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 212)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-guard-shot-hit) ) (else (vector-copy! (-> *launch-matrix* trans) v1-1) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 212)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-guard-shot-hit) ) ) ) @@ -552,7 +552,7 @@ (let ((t9-2 (method-of-type projectile init-proj-settings!))) (t9-2 this) ) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 213) this)) + (set! (-> this part) (create-launch-control group-guard-grenade this)) (set! (-> this blast-radius) 102400.0) (set! (-> this max-speed) 90112.0) (set! (-> this timeout) (seconds 4)) @@ -627,7 +627,7 @@ (quaternion-identity! (-> gp-0 spawn-quat)) (set! (-> gp-0 radius) (-> self blast-radius)) (set! (-> gp-0 scale) 2.0) - (set! (-> gp-0 group) (-> *part-group-id-table* 230)) + (set! (-> gp-0 group) group-toad-grenade-shot-explode) (set! (-> gp-0 collide-with) (collide-spec backgnd jak crate civilian enemy obstacle vehicle-sphere hit-by-others-list player-list pusher) ) diff --git a/test/decompiler/reference/jak3/levels/desert/wvehicle/wcar-scorpion_REF.gc b/test/decompiler/reference/jak3/levels/desert/wvehicle/wcar-scorpion_REF.gc index c9fb5ebbc4..ed5de65633 100644 --- a/test/decompiler/reference/jak3/levels/desert/wvehicle/wcar-scorpion_REF.gc +++ b/test/decompiler/reference/jak3/levels/desert/wvehicle/wcar-scorpion_REF.gc @@ -177,18 +177,18 @@ (vector-copy! (-> gp-0 mat fvec) (-> gp-0 gun-local-dir)) (vector-cross! (-> gp-0 mat rvec) (-> gp-0 mat uvec) (-> gp-0 mat fvec)) (vector+float*! (-> gp-0 mat trans) (-> gp-0 gun-local-pos) (-> gp-0 gun-local-dir) -12288.0) - (if (logtest? (-> *part-group-id-table* 227 flags) (sp-group-flag sp13)) + (if (logtest? (-> group-gun-scorp-shells flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 227) + :group group-gun-scorp-shells :duration 1 :mat-joint (-> gp-0 mat) ) (part-tracker-spawn part-tracker :to *entity-pool* - :group (-> *part-group-id-table* 227) + :group group-gun-scorp-shells :duration 1 :mat-joint (-> gp-0 mat) ) diff --git a/test/decompiler/reference/jak3/levels/desert/wvehicle/wvehicle-obs_REF.gc b/test/decompiler/reference/jak3/levels/desert/wvehicle/wvehicle-obs_REF.gc index 561e788279..166702cbbf 100644 --- a/test/decompiler/reference/jak3/levels/desert/wvehicle/wvehicle-obs_REF.gc +++ b/test/decompiler/reference/jak3/levels/desert/wvehicle/wvehicle-obs_REF.gc @@ -402,18 +402,18 @@ (set-time! (-> self state-time)) (let ((gp-0 (as-type (handle->process (-> self collector)) process-focusable))) (when gp-0 - (if (logtest? (-> *part-group-id-table* 232 flags) (sp-group-flag sp13)) + (if (logtest? (-> group-turbo-pickup-explode flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 232) + :group group-turbo-pickup-explode :target (the-as process-drawable gp-0) :mat-joint (the-as object 0) ) (part-tracker-spawn part-tracker :to *entity-pool* - :group (-> *part-group-id-table* 232) + :group group-turbo-pickup-explode :target (the-as process-drawable gp-0) :mat-joint (the-as object 0) ) @@ -464,7 +464,7 @@ (set! (-> self available) #t) (set! (-> self persistent) arg1) (set-time! (-> self birth-time)) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 231) self)) + (set! (-> self part) (create-launch-control group-turbo-pickup self)) (set! (-> self collector) (the-as handle #f)) (go-virtual idle) (none) diff --git a/test/decompiler/reference/jak3/levels/factory/fac-gunturret_REF.gc b/test/decompiler/reference/jak3/levels/factory/fac-gunturret_REF.gc index b497c156b8..1de5ed0679 100644 --- a/test/decompiler/reference/jak3/levels/factory/fac-gunturret_REF.gc +++ b/test/decompiler/reference/jak3/levels/factory/fac-gunturret_REF.gc @@ -1045,9 +1045,9 @@ (set! (-> this draw light-index) (the-as uint 10)) (logclear! (-> this mask) (process-mask actor-pause)) (logclear! (-> this enemy-flags) (enemy-flag actor-pause-backup)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 779) this)) - (set! (-> this smoke-part) (create-launch-control (-> *part-group-id-table* 780) this)) - (set! (-> this casing-part) (create-launch-control (-> *part-group-id-table* 781) this)) + (set! (-> this part) (create-launch-control group-fac-gunturret-hit this)) + (set! (-> this smoke-part) (create-launch-control group-fac-gunturret-smoke this)) + (set! (-> this casing-part) (create-launch-control group-fac-gunturret-casing this)) (set! (-> this left-gun-tilt-jm) (new 'process 'joint-mod (joint-mod-mode joint-set*) this (-> this params left-gun-joint)) ) diff --git a/test/decompiler/reference/jak3/levels/factory/fac-robotank_REF.gc b/test/decompiler/reference/jak3/levels/factory/fac-robotank_REF.gc index fd4dcc13f2..f6e882c6ff 100644 --- a/test/decompiler/reference/jak3/levels/factory/fac-robotank_REF.gc +++ b/test/decompiler/reference/jak3/levels/factory/fac-robotank_REF.gc @@ -667,13 +667,13 @@ (defmethod go-explode ((this fac-robotank)) (sound-play "tank-explode") (cond - ((logtest? (-> *part-group-id-table* 732 flags) (sp-group-flag sp13)) + ((logtest? (-> group-fac-tank-explosion flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> this root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 732)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-fac-tank-explosion) ) (else (vector-copy! (-> *launch-matrix* trans) (-> this root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 732)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-fac-tank-explosion) ) ) (let ((s5-3 (new 'stack 'joint-exploder-tuning (the-as uint 0)))) @@ -926,8 +926,8 @@ ) (set-vector! (-> self pov-cam-offset 0) 0.0 13516.8 -13516.8 1.0) (set-vector! (-> self pov-cam-offset 1) 0.0 13516.8 -13516.8 1.0) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 782) self)) - (set! (-> self barrel-part) (create-launch-control (-> *part-group-id-table* 783) self)) + (set! (-> self part) (create-launch-control group-robotank-steamescape self)) + (set! (-> self barrel-part) (create-launch-control group-robotank-barrel-sparks self)) (set! (-> self engine-sound) (new-sound-id)) (set! (-> self engine-sound-playing) #f) (set-time! (-> self snd-cmd-time)) diff --git a/test/decompiler/reference/jak3/levels/factory/fac-tower_REF.gc b/test/decompiler/reference/jak3/levels/factory/fac-tower_REF.gc index 3920952ca1..09a2435761 100644 --- a/test/decompiler/reference/jak3/levels/factory/fac-tower_REF.gc +++ b/test/decompiler/reference/jak3/levels/factory/fac-tower_REF.gc @@ -413,7 +413,7 @@ (when (not (vector= *fac-tower-impact-pos* (-> s4-0 root trans))) (vector-copy! *fac-tower-impact-pos* (-> s4-0 root trans)) (cond - ((logtest? (-> *part-group-id-table* 776 flags) (sp-group-flag sp13)) + ((logtest? (-> group-gun-warf-shot-hit flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> s4-0 root trans)) (let ((s4-1 (the-as projectile (get-process *default-dead-pool* part-tracker-subsampler #x4000 0)))) (when s4-1 @@ -429,7 +429,7 @@ (a0-13 s4-1) (a1-6 part-tracker-subsampler-init) ) - (set! (-> *part-tracker-subsampler-params-default* group) (-> *part-group-id-table* 776)) + (set! (-> *part-tracker-subsampler-params-default* group) group-gun-warf-shot-hit) (set! (-> *part-tracker-subsampler-params-default* duration) 0) (set! (-> *part-tracker-subsampler-params-default* callback) #f) (set! (-> *part-tracker-subsampler-params-default* userdata) (the-as uint #f)) @@ -444,7 +444,7 @@ ) (else (vector-copy! (-> *launch-matrix* trans) (-> s4-0 root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 776)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-gun-warf-shot-hit) ) ) ) @@ -805,13 +805,13 @@ (activate! *camera-smush-control* 3276.8 60 390 0.9 0.9 (-> self clock)) (start-destroyed-fac-gun-tower (-> self root trans) (-> self root quat) (the-as process *entity-pool*)) (cond - ((logtest? (-> *part-group-id-table* 731 flags) (sp-group-flag sp13)) + ((logtest? (-> group-fac-gun-tower-explosion flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 731)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-fac-gun-tower-explosion) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 731)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-fac-gun-tower-explosion) ) ) (fac-gun-tower-method-36 self) @@ -940,13 +940,13 @@ (when (not (vector= *fac-tower-impact-pos* (-> (the-as projectile proc) root trans))) (vector-copy! *fac-tower-impact-pos* (-> (the-as projectile proc) root trans)) (cond - ((logtest? (-> *part-group-id-table* 776 flags) (sp-group-flag sp13)) + ((logtest? (-> group-gun-warf-shot-hit flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> (the-as projectile proc) root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 776)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-gun-warf-shot-hit) ) (else (vector-copy! (-> *launch-matrix* trans) (-> (the-as projectile proc) root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 776)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-gun-warf-shot-hit) ) ) ) diff --git a/test/decompiler/reference/jak3/levels/factory/factory-boss-setup_REF.gc b/test/decompiler/reference/jak3/levels/factory/factory-boss-setup_REF.gc index 2b8358a762..3f4862f5d5 100644 --- a/test/decompiler/reference/jak3/levels/factory/factory-boss-setup_REF.gc +++ b/test/decompiler/reference/jak3/levels/factory/factory-boss-setup_REF.gc @@ -326,15 +326,15 @@ ;; definition for method 9 of type factory-boss-reticle-info ;; WARN: Return type mismatch int vs none. (defmethod init! ((this factory-boss-reticle-info) (arg0 process)) - (set! (-> this reticle) (create-launch-control (-> *part-group-id-table* 1371) arg0)) - (set! (-> this reticle-corner-0) (create-launch-control (-> *part-group-id-table* 1372) arg0)) - (set! (-> this reticle-corner-1) (create-launch-control (-> *part-group-id-table* 1372) arg0)) - (set! (-> this reticle-corner-2) (create-launch-control (-> *part-group-id-table* 1372) arg0)) - (set! (-> this reticle-corner-3) (create-launch-control (-> *part-group-id-table* 1372) arg0)) - (set! (-> this reticle-dot) (create-launch-control (-> *part-group-id-table* 1373) arg0)) - (set! (-> this reticle-arrow) (create-launch-control (-> *part-group-id-table* 1374) arg0)) - (set! (-> this reticle-super) (create-launch-control (-> *part-group-id-table* 1375) arg0)) - (set! (-> this reticle-super-ring) (create-launch-control (-> *part-group-id-table* 1376) arg0)) + (set! (-> this reticle) (create-launch-control group-factory-boss-bomb-reticle arg0)) + (set! (-> this reticle-corner-0) (create-launch-control group-factory-boss-bomb-corner arg0)) + (set! (-> this reticle-corner-1) (create-launch-control group-factory-boss-bomb-corner arg0)) + (set! (-> this reticle-corner-2) (create-launch-control group-factory-boss-bomb-corner arg0)) + (set! (-> this reticle-corner-3) (create-launch-control group-factory-boss-bomb-corner arg0)) + (set! (-> this reticle-dot) (create-launch-control group-factory-boss-bomb-dot arg0)) + (set! (-> this reticle-arrow) (create-launch-control group-factory-boss-bomb-arrow arg0)) + (set! (-> this reticle-super) (create-launch-control group-factory-boss-superbomb-reticle arg0)) + (set! (-> this reticle-super-ring) (create-launch-control group-factory-boss-superbomb-ring arg0)) (set! (-> this lock-time) 0) 0 (none) @@ -831,7 +831,7 @@ (quaternion-identity! (-> gp-1 spawn-quat)) (set! (-> gp-1 radius) 8192.0) (set! (-> gp-1 scale) 1.0) - (set! (-> gp-1 group) (-> *part-group-id-table* 1360)) + (set! (-> gp-1 group) group-factory-boss-shot-explosion) (set! (-> gp-1 collide-with) (collide-spec backgnd jak crate enemy obstacle vehicle-sphere hit-by-others-list player-list pusher shield) ) @@ -907,7 +907,7 @@ (quaternion-identity! (-> gp-1 spawn-quat)) (set! (-> gp-1 radius) 8192.0) (set! (-> gp-1 scale) 1.0) - (set! (-> gp-1 group) (-> *part-group-id-table* 1360)) + (set! (-> gp-1 group) group-factory-boss-shot-explosion) (set! (-> gp-1 collide-with) (collide-spec backgnd jak crate enemy obstacle vehicle-sphere hit-by-others-list player-list pusher shield) ) @@ -1107,7 +1107,7 @@ (quaternion-identity! (-> gp-1 spawn-quat)) (set! (-> gp-1 radius) 8192.0) (set! (-> gp-1 scale) 1.0) - (set! (-> gp-1 group) (-> *part-group-id-table* 1360)) + (set! (-> gp-1 group) group-factory-boss-shot-explosion) (set! (-> gp-1 collide-with) (collide-spec backgnd jak crate enemy obstacle vehicle-sphere hit-by-others-list player-list pusher shield) ) @@ -2021,10 +2021,14 @@ (dotimes (s4-2 4) (let ((s3-1 (-> this machine-state s4-2))) (set! (-> s3-1 state) 0) - (set! (-> s3-1 damaged-low-smoke-part) (create-launch-control (-> *part-group-id-table* 1362) this)) - (set! (-> s3-1 damaged-high-smoke-part) (create-launch-control (-> *part-group-id-table* 1361) this)) - (set! (-> s3-1 damaged-left-spark-part) (create-launch-control (-> *part-group-id-table* 1378) this)) - (set! (-> s3-1 damaged-right-spark-part) (create-launch-control (-> *part-group-id-table* 1378) this)) + (set! (-> s3-1 damaged-low-smoke-part) + (create-launch-control group-factory-boss-machine-damaged-low-smoke this) + ) + (set! (-> s3-1 damaged-high-smoke-part) + (create-launch-control group-factory-boss-machine-damaged-high-smoke this) + ) + (set! (-> s3-1 damaged-left-spark-part) (create-launch-control group-facboss-sparks this)) + (set! (-> s3-1 damaged-right-spark-part) (create-launch-control group-facboss-sparks this)) (set! (-> s3-1 machine-sound) (new-sound-id)) (set! (-> s3-1 flags) (facboss-machine-state-flag fms1)) (set! (-> s3-1 left-spark-timer) 0) @@ -2033,7 +2037,7 @@ (let ((v1-47 s4-2)) (cond ((zero? v1-47) - (set! (-> s3-1 ring-part) (create-launch-control (-> *part-group-id-table* 1363) this)) + (set! (-> s3-1 ring-part) (create-launch-control group-factory-boss-machine-ring1 this)) (set! (-> s3-1 lightning) (new 'process 'lightning-control @@ -2061,7 +2065,7 @@ ) ) ((= v1-47 1) - (set! (-> s3-1 ring-part) (create-launch-control (-> *part-group-id-table* 1364) this)) + (set! (-> s3-1 ring-part) (create-launch-control group-factory-boss-machine-ring2 this)) (set! (-> s3-1 lightning) (new 'process 'lightning-control @@ -2089,7 +2093,7 @@ ) ) ((= v1-47 2) - (set! (-> s3-1 ring-part) (create-launch-control (-> *part-group-id-table* 1365) this)) + (set! (-> s3-1 ring-part) (create-launch-control group-factory-boss-machine-ring3 this)) (set! (-> s3-1 lightning) (new 'process 'lightning-control @@ -2117,7 +2121,7 @@ ) ) (else - (set! (-> s3-1 ring-part) (create-launch-control (-> *part-group-id-table* 1366) this)) + (set! (-> s3-1 ring-part) (create-launch-control group-factory-boss-machine-ring4 this)) (set! (-> s3-1 lightning) (new 'process 'lightning-control diff --git a/test/decompiler/reference/jak3/levels/factory/factory-boss-states_REF.gc b/test/decompiler/reference/jak3/levels/factory/factory-boss-states_REF.gc index a7ab1a2ad0..6975d7cc88 100644 --- a/test/decompiler/reference/jak3/levels/factory/factory-boss-states_REF.gc +++ b/test/decompiler/reference/jak3/levels/factory/factory-boss-states_REF.gc @@ -1151,14 +1151,19 @@ ) (factory-boss-get-particle-spawn-points (-> self chosen-machine) a1-8 s5-0 gp-0) (vector-copy! (-> gp-0 trans) s5-0) - (if (logtest? (-> *part-group-id-table* 1367 flags) (sp-group-flag sp13)) + (if (logtest? (-> group-factory-boss-machine-explosion flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 1367) + :group group-factory-boss-machine-explosion + :mat-joint gp-0 + ) + (part-tracker-spawn + part-tracker + :to *entity-pool* + :group group-factory-boss-machine-explosion :mat-joint gp-0 ) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 1367) :mat-joint gp-0) ) ) ) @@ -1443,18 +1448,18 @@ (vector-copy! (-> s4-2 trans) gp-0) (+! (-> s4-2 trans y) 8192.0) (set! (-> s4-2 trans w) 1.0) - (if (logtest? (-> *part-group-id-table* 1377 flags) (sp-group-flag sp13)) + (if (logtest? (-> group-factory-boss-launch-critter flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 1377) + :group group-factory-boss-launch-critter :duration (seconds 1) :mat-joint s4-2 ) (part-tracker-spawn part-tracker :to *entity-pool* - :group (-> *part-group-id-table* 1377) + :group group-factory-boss-launch-critter :duration (seconds 1) :mat-joint s4-2 ) diff --git a/test/decompiler/reference/jak3/levels/factory/factory-manager_REF.gc b/test/decompiler/reference/jak3/levels/factory/factory-manager_REF.gc index 5e7b38c2ca..6a2e74706a 100644 --- a/test/decompiler/reference/jak3/levels/factory/factory-manager_REF.gc +++ b/test/decompiler/reference/jak3/levels/factory/factory-manager_REF.gc @@ -905,13 +905,13 @@ ) 0 (cond - ((logtest? (-> *part-group-id-table* 730 flags) (sp-group-flag sp13)) + ((logtest? (-> group-fac-fighter-explosion flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 730)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-fac-fighter-explosion) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 730)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-fac-fighter-explosion) ) ) (set! (-> self rot-vel) (rand-vu-float-range -910.2222 910.2222)) @@ -968,13 +968,13 @@ (remove-from-process *part-engine* self) (set! (-> self root root-prim local-sphere w) 491520.0) (cond - ((logtest? (-> *part-group-id-table* 730 flags) (sp-group-flag sp13)) + ((logtest? (-> group-fac-fighter-explosion flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 730)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-fac-fighter-explosion) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 730)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-fac-fighter-explosion) ) ) (sound-play "fighter-explode") @@ -1388,13 +1388,13 @@ (set! (-> gp-0 gravity) -122880.0) (set! (-> gp-0 rot-speed) 16.0) (cond - ((logtest? (-> *part-group-id-table* 733 flags) (sp-group-flag sp13)) + ((logtest? (-> group-fac-target-explosion flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 733)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-fac-target-explosion) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 733)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-fac-target-explosion) ) ) (process-spawn diff --git a/test/decompiler/reference/jak3/levels/factory/factoryc-obs2_REF.gc b/test/decompiler/reference/jak3/levels/factory/factoryc-obs2_REF.gc index d0f0ce230d..7baeb7ef02 100644 --- a/test/decompiler/reference/jak3/levels/factory/factoryc-obs2_REF.gc +++ b/test/decompiler/reference/jak3/levels/factory/factoryc-obs2_REF.gc @@ -116,13 +116,13 @@ ((lambda :behavior fac-break-floor () (cond - ((logtest? (-> *part-group-id-table* 750 flags) (sp-group-flag sp13)) + ((logtest? (-> group-fac-break-floor-bust flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 750)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-fac-break-floor-bust) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 750)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-fac-break-floor-bust) ) ) (let ((gp-2 (new 'stack 'joint-exploder-tuning (the-as uint 1)))) @@ -370,13 +370,13 @@ ) (vector-matrix*! gp-1 a1-9 (-> self node-list data 0 bone transform)) (cond - ((logtest? (-> *part-group-id-table* 751 flags) (sp-group-flag sp13)) + ((logtest? (-> group-fac-break-fence-bust flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) gp-1) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 751)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-fac-break-fence-bust) ) (else (vector-copy! (-> *launch-matrix* trans) gp-1) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 751)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-fac-break-fence-bust) ) ) ) @@ -537,13 +537,13 @@ ) (vector-matrix*! gp-1 a1-9 (-> self node-list data 0 bone transform)) (cond - ((logtest? (-> *part-group-id-table* 751 flags) (sp-group-flag sp13)) + ((logtest? (-> group-fac-break-fence-bust flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) gp-1) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 751)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-fac-break-fence-bust) ) (else (vector-copy! (-> *launch-matrix* trans) gp-1) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 751)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-fac-break-fence-bust) ) ) ) @@ -753,13 +753,13 @@ ) (vector-matrix*! gp-1 a1-9 (-> self node-list data 0 bone transform)) (cond - ((logtest? (-> *part-group-id-table* 751 flags) (sp-group-flag sp13)) + ((logtest? (-> group-fac-break-fence-bust flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) gp-1) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 751)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-fac-break-fence-bust) ) (else (vector-copy! (-> *launch-matrix* trans) gp-1) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 751)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-fac-break-fence-bust) ) ) ) @@ -1033,8 +1033,8 @@ ) ) (init (-> this lever-jmod) this (the-as uint 4) (joint-mod-base-flags attached)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 753) this)) - (set! (-> this part-green) (create-launch-control (-> *part-group-id-table* 754) this)) + (set! (-> this part) (create-launch-control group-fac-switch-glow-red this)) + (set! (-> this part-green) (create-launch-control group-fac-switch-glow-green this)) (if (is-done? this) (go (method-of-object this done) #t) (go (method-of-object this idle)) @@ -1679,7 +1679,7 @@ ) (set! (-> this motor-noise) (new-sound-id)) (set! (-> this root pause-adjust-distance) 327680.0) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 755) this)) + (set! (-> this part) (create-launch-control group-fac-rotfan-barrier this)) (let* ((v1-29 *game-info*) (a0-27 (+ (-> v1-29 attack-id) 1)) ) diff --git a/test/decompiler/reference/jak3/levels/factory/factoryc-obs_REF.gc b/test/decompiler/reference/jak3/levels/factory/factoryc-obs_REF.gc index 776cfbabc6..8e00c5a954 100644 --- a/test/decompiler/reference/jak3/levels/factory/factoryc-obs_REF.gc +++ b/test/decompiler/reference/jak3/levels/factory/factoryc-obs_REF.gc @@ -623,7 +623,7 @@ (the-as time-frame (the int (* 300.0 (res-lump-float (-> this entity) 'zapper-phase)))) ) (set! (-> this fire-is-on) #f) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 806) this)) + (set! (-> this part) (create-launch-control group-fact-big-torch this)) (let* ((s4-1 (-> this part)) (s3-1 (method-of-object s4-1 set-local-space-info)) (s2-0 (the-as @@ -965,13 +965,13 @@ (set! (-> gp-0 fountain-rand-transv-hi w) 73728.0) (sound-play "fac-hatch-explo") (cond - ((logtest? (-> *part-group-id-table* 752 flags) (sp-group-flag sp13)) + ((logtest? (-> group-fac-robopod-bust flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 752)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-fac-robopod-bust) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 752)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-fac-robopod-bust) ) ) (process-spawn @@ -991,13 +991,13 @@ (set! (-> self root root-prim prim-core collide-as) (collide-spec)) (set! (-> self root root-prim prim-core action) (collide-action)) (cond - ((logtest? (-> *part-group-id-table* 218 flags) (sp-group-flag sp13)) + ((logtest? (-> group-kg-big-explosion flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 218)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-kg-big-explosion) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 218)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-kg-big-explosion) ) ) (setup-masks (-> self draw) 1 2) diff --git a/test/decompiler/reference/jak3/levels/factory/ffight-projectile_REF.gc b/test/decompiler/reference/jak3/levels/factory/ffight-projectile_REF.gc index c853bce92d..41eb07ef79 100644 --- a/test/decompiler/reference/jak3/levels/factory/ffight-projectile_REF.gc +++ b/test/decompiler/reference/jak3/levels/factory/ffight-projectile_REF.gc @@ -400,26 +400,21 @@ (vector+! (-> gp-0 trans) (-> this root trans) s3-0) (cond ((-> this hit-actor?) - (if (logtest? (-> *part-group-id-table* 763 flags) (sp-group-flag sp13)) + (if (logtest? (-> group-ffight-shot-hit-object flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 763) + :group group-ffight-shot-hit-object :mat-joint gp-0 ) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 763) :mat-joint gp-0) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-ffight-shot-hit-object :mat-joint gp-0) ) ) - ((logtest? (-> *part-group-id-table* 764 flags) (sp-group-flag sp13)) - (part-tracker-spawn - part-tracker-subsampler - :to *entity-pool* - :group (-> *part-group-id-table* 764) - :mat-joint gp-0 - ) + ((logtest? (-> group-ffight-shot-hit flags) (sp-group-flag sp13)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-ffight-shot-hit :mat-joint gp-0) ) (else - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 764) :mat-joint gp-0) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-ffight-shot-hit :mat-joint gp-0) ) ) ) diff --git a/test/decompiler/reference/jak3/levels/factory/ftank-projectile_REF.gc b/test/decompiler/reference/jak3/levels/factory/ftank-projectile_REF.gc index 52bf4cd2c2..63937ec739 100644 --- a/test/decompiler/reference/jak3/levels/factory/ftank-projectile_REF.gc +++ b/test/decompiler/reference/jak3/levels/factory/ftank-projectile_REF.gc @@ -327,26 +327,21 @@ (vector+! (-> gp-0 trans) (-> this root trans) s3-0) (cond ((-> this hit-actor?) - (if (logtest? (-> *part-group-id-table* 767 flags) (sp-group-flag sp13)) + (if (logtest? (-> group-ftank-shot-hit-object flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 767) + :group group-ftank-shot-hit-object :mat-joint gp-0 ) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 767) :mat-joint gp-0) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-ftank-shot-hit-object :mat-joint gp-0) ) ) - ((logtest? (-> *part-group-id-table* 768 flags) (sp-group-flag sp13)) - (part-tracker-spawn - part-tracker-subsampler - :to *entity-pool* - :group (-> *part-group-id-table* 768) - :mat-joint gp-0 - ) + ((logtest? (-> group-ftank-shot-hit flags) (sp-group-flag sp13)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-ftank-shot-hit :mat-joint gp-0) ) (else - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 768) :mat-joint gp-0) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-ftank-shot-hit :mat-joint gp-0) ) ) ) diff --git a/test/decompiler/reference/jak3/levels/factory/fturret-projectile_REF.gc b/test/decompiler/reference/jak3/levels/factory/fturret-projectile_REF.gc index 5a0f0a54d1..de0a0f7295 100644 --- a/test/decompiler/reference/jak3/levels/factory/fturret-projectile_REF.gc +++ b/test/decompiler/reference/jak3/levels/factory/fturret-projectile_REF.gc @@ -440,26 +440,21 @@ (vector+! (-> gp-0 trans) (-> this root trans) s3-0) (cond ((-> this hit-actor?) - (if (logtest? (-> *part-group-id-table* 771 flags) (sp-group-flag sp13)) + (if (logtest? (-> group-fturret-shot-hit-object flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 771) + :group group-fturret-shot-hit-object :mat-joint gp-0 ) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 771) :mat-joint gp-0) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-fturret-shot-hit-object :mat-joint gp-0) ) ) - ((logtest? (-> *part-group-id-table* 772 flags) (sp-group-flag sp13)) - (part-tracker-spawn - part-tracker-subsampler - :to *entity-pool* - :group (-> *part-group-id-table* 772) - :mat-joint gp-0 - ) + ((logtest? (-> group-fturret-shot-hit flags) (sp-group-flag sp13)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-fturret-shot-hit :mat-joint gp-0) ) (else - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 772) :mat-joint gp-0) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-fturret-shot-hit :mat-joint gp-0) ) ) ) diff --git a/test/decompiler/reference/jak3/levels/factory/missile-bot_REF.gc b/test/decompiler/reference/jak3/levels/factory/missile-bot_REF.gc index 6986efa1de..c987b974f1 100644 --- a/test/decompiler/reference/jak3/levels/factory/missile-bot_REF.gc +++ b/test/decompiler/reference/jak3/levels/factory/missile-bot_REF.gc @@ -741,13 +741,13 @@ (setup-from-to-duration-and-height! (-> self traj) (-> self root trans) gp-0 f28-0 f30-0) ) (cond - ((logtest? (-> *part-group-id-table* 219 flags) (sp-group-flag sp13)) + ((logtest? (-> group-kg-explosion flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to self :group (-> *part-group-id-table* 219)) + (part-tracker-spawn part-tracker-subsampler :to self :group group-kg-explosion) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 219)) + (part-tracker-spawn part-tracker :to self :group group-kg-explosion) ) ) (when (not (send-event (ppointer->process (-> self parent)) 'in-cutscene?)) @@ -805,13 +805,13 @@ (logior! (-> self draw status) (draw-control-status no-draw)) (set! (-> self root root-prim local-sphere w) 491520.0) (cond - ((logtest? (-> *part-group-id-table* 217 flags) (sp-group-flag sp13)) + ((logtest? (-> group-kg-huge-explosion flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to self :group (-> *part-group-id-table* 217)) + (part-tracker-spawn part-tracker-subsampler :to self :group group-kg-huge-explosion) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 217)) + (part-tracker-spawn part-tracker :to self :group group-kg-huge-explosion) ) ) (when (-> self will-hit-errol) @@ -1273,9 +1273,9 @@ (set-params! (-> this lightning-wobble s5-1) (the-as vector #f) 0.1 0.2 0.7) (set-params! (-> this lightning-wobble-rand s5-1) 3 15 0.1 0.1) ) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 1368) this)) - (set! (-> this thruster-part) (create-launch-control (-> *part-group-id-table* 1370) this)) - (set! (-> this spark-part) (create-launch-control (-> *part-group-id-table* 1369) this)) + (set! (-> this part) (create-launch-control group-missile-bot-fizzle this)) + (set! (-> this thruster-part) (create-launch-control group-missile-bot-thruster this)) + (set! (-> this spark-part) (create-launch-control group-missile-bot-spark this)) (logior! (-> this skel status) (joint-control-status sync-math)) (set! (-> this glows-on) #f) (toggle-glow-sprites this #t) diff --git a/test/decompiler/reference/jak3/levels/factory/warf-projectile_REF.gc b/test/decompiler/reference/jak3/levels/factory/warf-projectile_REF.gc index 9b46f0bccd..4ec43baa30 100644 --- a/test/decompiler/reference/jak3/levels/factory/warf-projectile_REF.gc +++ b/test/decompiler/reference/jak3/levels/factory/warf-projectile_REF.gc @@ -810,7 +810,7 @@ (set! (-> this move) warf-projectile-move) (logior! (-> this options) (projectile-options po13)) (set! (-> this muzzle-flash-part) (the-as sparticle-launch-control (-> *part-id-table* 2896))) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 778) this)) + (set! (-> this part) (create-launch-control group-factory-vehicle-shot this)) (let* ((v1-12 *game-info*) (a0-6 (+ (-> v1-12 attack-id) 1)) ) @@ -1202,26 +1202,26 @@ (vector+! (-> gp-0 trans) (-> this root trans) s3-0) (cond ((-> this hit-actor?) - (if (logtest? (-> *part-group-id-table* 734 flags) (sp-group-flag sp13)) + (if (logtest? (-> group-gun-tower-hit-explosion flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 734) + :group group-gun-tower-hit-explosion :mat-joint gp-0 ) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 734) :mat-joint gp-0) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-gun-tower-hit-explosion :mat-joint gp-0) ) ) - ((logtest? (-> *part-group-id-table* 735 flags) (sp-group-flag sp13)) + ((logtest? (-> group-gun-tower-hit-object flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 735) + :group group-gun-tower-hit-object :mat-joint gp-0 ) ) (else - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 735) :mat-joint gp-0) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-gun-tower-hit-object :mat-joint gp-0) ) ) ) @@ -1333,7 +1333,7 @@ (set! (-> this damage) 1.0) (set! (-> this sound-id) (new-sound-id)) (logior! (-> this options) (projectile-options po13)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 777) this)) + (set! (-> this part) (create-launch-control group-fac-guntower-particle this)) (let* ((v1-10 *game-info*) (a0-6 (+ (-> v1-10 attack-id) 1)) ) @@ -1349,30 +1349,29 @@ ;; WARN: Return type mismatch int vs none. (defmethod projectile-method-26 ((this gun-warf-shot)) (when (not (-> this hit-actor?)) - (let ((v1-10 - (cond - ((-> this hit-actor?) - (cond - ((logtest? (-> *part-group-id-table* 776 flags) (sp-group-flag sp13)) - (vector-copy! (-> *launch-matrix* trans) (-> this root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 776)) - ) - (else - (vector-copy! (-> *launch-matrix* trans) (-> this root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 776)) + (let ((v1-10 (cond + ((-> this hit-actor?) + (cond + ((logtest? (-> group-gun-warf-shot-hit flags) (sp-group-flag sp13)) + (vector-copy! (-> *launch-matrix* trans) (-> this root trans)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-gun-warf-shot-hit) + ) + (else + (vector-copy! (-> *launch-matrix* trans) (-> this root trans)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-gun-warf-shot-hit) + ) + ) + ) + ((logtest? (-> group-gun-warf-shot-hit flags) (sp-group-flag sp13)) + (vector-copy! (-> *launch-matrix* trans) (-> this root trans)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-gun-warf-shot-hit) + ) + (else + (vector-copy! (-> *launch-matrix* trans) (-> this root trans)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-gun-warf-shot-hit) + ) ) ) - ) - ((logtest? (-> *part-group-id-table* 776 flags) (sp-group-flag sp13)) - (vector-copy! (-> *launch-matrix* trans) (-> this root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 776)) - ) - (else - (vector-copy! (-> *launch-matrix* trans) (-> this root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 776)) - ) - ) - ) ) (send-event (ppointer->process v1-10) 'clock this) ) diff --git a/test/decompiler/reference/jak3/levels/forest/eco-green-collider_REF.gc b/test/decompiler/reference/jak3/levels/forest/eco-green-collider_REF.gc index b3541b4eaa..dac1db9c45 100644 --- a/test/decompiler/reference/jak3/levels/forest/eco-green-collider_REF.gc +++ b/test/decompiler/reference/jak3/levels/forest/eco-green-collider_REF.gc @@ -77,6 +77,6 @@ (process-entity-set! self arg1) (init-collision! self) (vector-copy! (-> self root trans) arg0) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 125) self)) + (set! (-> self part) (create-launch-control group-eco-green-pill self)) (go-virtual idle) ) diff --git a/test/decompiler/reference/jak3/levels/forest/for-turret-shot_REF.gc b/test/decompiler/reference/jak3/levels/forest/for-turret-shot_REF.gc index c2bd21d58d..2dd0e139c3 100644 --- a/test/decompiler/reference/jak3/levels/forest/for-turret-shot_REF.gc +++ b/test/decompiler/reference/jak3/levels/forest/for-turret-shot_REF.gc @@ -414,13 +414,13 @@ (vector-copy! v1-2 (-> gp-0 trans)) (vector+! v1-2 v1-2 a0-3) (cond - ((logtest? (-> *part-group-id-table* 239 flags) (sp-group-flag sp13)) + ((logtest? (-> group-for-turret-shot-hit flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) v1-2) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 239)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-for-turret-shot-hit) ) (else (vector-copy! (-> *launch-matrix* trans) v1-2) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 239)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-for-turret-shot-hit) ) ) ) diff --git a/test/decompiler/reference/jak3/levels/forest/for-turret_REF.gc b/test/decompiler/reference/jak3/levels/forest/for-turret_REF.gc index ba10404d03..cc3639ca5d 100644 --- a/test/decompiler/reference/jak3/levels/forest/for-turret_REF.gc +++ b/test/decompiler/reference/jak3/levels/forest/for-turret_REF.gc @@ -1133,14 +1133,14 @@ (+! (-> sv-120 y) 819.2) (vector-copy! (-> sv-112 trans) sv-120) (let ((v1-32 - (if (logtest? (-> *part-group-id-table* 241 flags) (sp-group-flag sp13)) + (if (logtest? (-> group-for-turret-scorched-earth flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 241) + :group group-for-turret-scorched-earth :mat-joint sv-112 ) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 241) :mat-joint sv-112) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-for-turret-scorched-earth :mat-joint sv-112) ) ) ) @@ -1701,7 +1701,3 @@ 0 (none) ) - - - - diff --git a/test/decompiler/reference/jak3/levels/forest/forest-bridges_REF.gc b/test/decompiler/reference/jak3/levels/forest/forest-bridges_REF.gc index 4ee4426515..9b5ee7a8ef 100644 --- a/test/decompiler/reference/jak3/levels/forest/forest-bridges_REF.gc +++ b/test/decompiler/reference/jak3/levels/forest/forest-bridges_REF.gc @@ -152,23 +152,18 @@ (set! (-> gp-1 fountain-rand-transv-hi z) 4096.0) (set! (-> gp-1 fountain-rand-transv-hi w) 102400.0) (cond - ((logtest? (-> *part-group-id-table* 577 flags) (sp-group-flag sp13)) + ((logtest? (-> group-for-bridge-dust flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 577) + :group group-for-bridge-dust :duration (seconds 0.085) ) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn - part-tracker - :to *entity-pool* - :group (-> *part-group-id-table* 577) - :duration (seconds 0.085) - ) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-for-bridge-dust :duration (seconds 0.085)) ) ) (process-spawn diff --git a/test/decompiler/reference/jak3/levels/forest/forest-part_REF.gc b/test/decompiler/reference/jak3/levels/forest/forest-part_REF.gc index ec888bd0b8..9fca66b34a 100644 --- a/test/decompiler/reference/jak3/levels/forest/forest-part_REF.gc +++ b/test/decompiler/reference/jak3/levels/forest/forest-part_REF.gc @@ -728,7 +728,7 @@ ) ) (cond - ((logtest? (-> *part-group-id-table* 570 flags) (sp-group-flag sp13)) + ((logtest? (-> group-forest-leaf-water-hit flags) (sp-group-flag sp13)) (let ((v1-18 (-> *launch-matrix* trans)) (a0-9 (new 'stack-no-clear 'vector)) ) @@ -738,7 +738,7 @@ (set! (-> a0-9 w) 1.0) (vector-copy! v1-18 a0-9) ) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 570)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-forest-leaf-water-hit) ) (else (let ((v1-33 (-> *launch-matrix* trans)) @@ -750,7 +750,7 @@ (set! (-> a0-14 w) 1.0) (vector-copy! v1-33 a0-14) ) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 570)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-forest-leaf-water-hit) ) ) (set! (-> arg1 sp-func) (the-as (function sparticle-system sparticle-cpuinfo sprite-vec-data-3d uint none) 0)) @@ -1057,7 +1057,7 @@ (defun spt-func-birth-on-stop ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 sparticle-launchinfo) (arg3 object) (arg4 object)) (when (zero? (-> arg1 timer)) (cond - ((logtest? (-> *part-group-id-table* 573 flags) (sp-group-flag sp13)) + ((logtest? (-> group-mh-plant-flare-pop flags) (sp-group-flag sp13)) (let ((v1-6 (-> *launch-matrix* trans)) (a0-1 (new 'stack-no-clear 'vector)) ) @@ -1067,7 +1067,7 @@ (set! (-> a0-1 w) 1.0) (vector-copy! v1-6 a0-1) ) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 573)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-mh-plant-flare-pop) ) (else (let ((v1-19 (-> *launch-matrix* trans)) @@ -1079,7 +1079,7 @@ (set! (-> a0-6 w) 1.0) (vector-copy! v1-19 a0-6) ) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 573)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-mh-plant-flare-pop) ) ) ) diff --git a/test/decompiler/reference/jak3/levels/forest/forest-ring-chase_REF.gc b/test/decompiler/reference/jak3/levels/forest/forest-ring-chase_REF.gc index f727188ad1..1210a41d6a 100644 --- a/test/decompiler/reference/jak3/levels/forest/forest-ring-chase_REF.gc +++ b/test/decompiler/reference/jak3/levels/forest/forest-ring-chase_REF.gc @@ -471,13 +471,13 @@ ) ) (cond - ((logtest? (-> *part-group-id-table* 579 flags) (sp-group-flag sp13)) + ((logtest? (-> group-for-ring-finder-explosion flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> this root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 579)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-for-ring-finder-explosion) ) (else (vector-copy! (-> *launch-matrix* trans) (-> this root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 579)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-for-ring-finder-explosion) ) ) (go (method-of-object this die)) @@ -609,7 +609,7 @@ ) ) ) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 578) self)) + (set! (-> self part) (create-launch-control group-for-ring-finder self)) self (set! (-> self part-subsampler) (new 'process 'sparticle-subsampler *sp-particle-system-2d* (-> *part-id-table* 2254) 3.0) @@ -707,26 +707,21 @@ ) (cond ((-> self is-final?) - (if (logtest? (-> *part-group-id-table* 594 flags) (sp-group-flag sp13)) + (if (logtest? (-> group-forest-ring-birth-final flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to self - :group (-> *part-group-id-table* 594) + :group group-forest-ring-birth-final :mat-joint (-> self mat) ) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 594) :mat-joint (-> self mat)) + (part-tracker-spawn part-tracker :to self :group group-forest-ring-birth-final :mat-joint (-> self mat)) ) ) - ((logtest? (-> *part-group-id-table* 593 flags) (sp-group-flag sp13)) - (part-tracker-spawn - part-tracker-subsampler - :to self - :group (-> *part-group-id-table* 593) - :mat-joint (-> self mat) - ) + ((logtest? (-> group-forest-ring-birth flags) (sp-group-flag sp13)) + (part-tracker-spawn part-tracker-subsampler :to self :group group-forest-ring-birth :mat-joint (-> self mat)) ) (else - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 593) :mat-joint (-> self mat)) + (part-tracker-spawn part-tracker :to self :group group-forest-ring-birth :mat-joint (-> self mat)) ) ) (sound-play "ring-create") @@ -758,14 +753,14 @@ (cond ((-> self is-final?) (sound-play "ring-final") - (if (logtest? (-> *part-group-id-table* 592 flags) (sp-group-flag sp13)) + (if (logtest? (-> group-forest-ring-explode-final flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to self - :group (-> *part-group-id-table* 592) + :group group-forest-ring-explode-final :mat-joint (-> self mat) ) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 592) :mat-joint (-> self mat)) + (part-tracker-spawn part-tracker :to self :group group-forest-ring-explode-final :mat-joint (-> self mat)) ) (if (nonzero? (-> self part-final)) (kill-particles (-> self part-final)) @@ -773,14 +768,14 @@ ) (else (sound-play "ring-pass") - (if (logtest? (-> *part-group-id-table* 591 flags) (sp-group-flag sp13)) + (if (logtest? (-> group-forest-ring-explode flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to self - :group (-> *part-group-id-table* 591) + :group group-forest-ring-explode :mat-joint (-> self mat) ) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 591) :mat-joint (-> self mat)) + (part-tracker-spawn part-tracker :to self :group group-forest-ring-explode :mat-joint (-> self mat)) ) (if (nonzero? (-> self part)) (kill-particles (-> self part)) @@ -865,8 +860,8 @@ (process-drawable-from-entity! this arg0) (quaternion->matrix (-> this mat) (-> this root quat)) (vector-copy! (-> this mat trans) (-> this root trans)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 589) this)) - (set! (-> this part-final) (create-launch-control (-> *part-group-id-table* 590) this)) + (set! (-> this part) (create-launch-control group-forest-ring this)) + (set! (-> this part-final) (create-launch-control group-forest-ring-final this)) (logclear! (-> this mask) (process-mask actor-pause)) (set! (-> this is-final?) #f) (go (method-of-object this dormant)) @@ -1123,18 +1118,13 @@ :virtual #t :code (behavior () (cond - ((logtest? (-> *part-group-id-table* 584 flags) (sp-group-flag sp13)) + ((logtest? (-> group-for-statue-buildup flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self node-list data 3 bone transform trans)) - (part-tracker-spawn - part-tracker-subsampler - :to self - :group (-> *part-group-id-table* 584) - :duration (seconds 1) - ) + (part-tracker-spawn part-tracker-subsampler :to self :group group-for-statue-buildup :duration (seconds 1)) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self node-list data 3 bone transform trans)) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 584) :duration (seconds 1)) + (part-tracker-spawn part-tracker :to self :group group-for-statue-buildup :duration (seconds 1)) ) ) (suspend-for (seconds 1) @@ -1146,23 +1136,18 @@ (sound-stop (-> self sound-id)) ) (cond - ((logtest? (-> *part-group-id-table* 585 flags) (sp-group-flag sp13)) + ((logtest? (-> group-for-statue-explode flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self node-list data 3 bone transform trans)) (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 585) + :group group-for-statue-explode :duration (seconds 1) ) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self node-list data 3 bone transform trans)) - (part-tracker-spawn - part-tracker - :to *entity-pool* - :group (-> *part-group-id-table* 585) - :duration (seconds 1) - ) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-for-statue-explode :duration (seconds 1)) ) ) (when (type? (-> self root) collide-shape) @@ -1295,7 +1280,7 @@ (set! (-> this id) (res-lump-value (-> this entity) 'extra-id int :default (the-as uint128 -1) :time -1000000000.0) ) - (set! (-> this part-eyes) (create-launch-control (-> *part-group-id-table* 588) this)) + (set! (-> this part-eyes) (create-launch-control group-for-statue-eyes this)) (when (or (and (= (-> this id) 1) (task-node-closed? (game-task-node forest-ring-chase-statue-1))) (and (= (-> this id) 2) (task-node-closed? (game-task-node forest-ring-chase-statue-2))) (and (= (-> this id) 3) (task-node-closed? (game-task-node forest-ring-chase-statue-3))) @@ -1306,8 +1291,8 @@ (return #f) ) (if (= (-> this id) 4) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 583) this)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 582) this)) + (set! (-> this part) (create-launch-control group-for-statue-rise-no-rocks this)) + (set! (-> this part) (create-launch-control group-for-statue-rise this)) ) (set! (-> this sound-id) (new-sound-id)) (let ((a1-9 (new 'stack-no-clear 'event-message-block))) diff --git a/test/decompiler/reference/jak3/levels/forest/foresta-obs_REF.gc b/test/decompiler/reference/jak3/levels/forest/foresta-obs_REF.gc index fb14fb3afc..6f02b96423 100644 --- a/test/decompiler/reference/jak3/levels/forest/foresta-obs_REF.gc +++ b/test/decompiler/reference/jak3/levels/forest/foresta-obs_REF.gc @@ -764,7 +764,7 @@ (+! (-> this root trans y) 30720.0) ) (set! (-> this sound-id) (the-as uint (new-sound-id))) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 586) this)) + (set! (-> this part) (create-launch-control group-for-pillar-splash this)) (set! (-> this ridden?) #f) (if (or (task-node-closed? (game-task-node forest-turn-on-machine-resolution)) (logtest? (-> this entity extra perm status) (entity-perm-status subtask-complete)) @@ -1101,7 +1101,7 @@ (set! (-> this extend-height) (+ (-> this root trans y) (res-lump-float arg0 'height))) (set! (-> this sound-id) (the-as uint (new-sound-id))) (setup-masks (-> this draw) 1 2) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 587) this)) + (set! (-> this part) (create-launch-control group-for-tower-splash this)) (set! (-> this ridden?) #f) (cond ((and (task-node-closed? (game-task-node forest-kill-plants-armor)) diff --git a/test/decompiler/reference/jak3/levels/forest/mh-plant_REF.gc b/test/decompiler/reference/jak3/levels/forest/mh-plant_REF.gc index 371a929a04..4c17c3d52f 100644 --- a/test/decompiler/reference/jak3/levels/forest/mh-plant_REF.gc +++ b/test/decompiler/reference/jak3/levels/forest/mh-plant_REF.gc @@ -162,13 +162,13 @@ (('event-sprout) (sound-play "plant-sprout") (cond - ((logtest? (-> *part-group-id-table* 571 flags) (sp-group-flag sp13)) + ((logtest? (-> group-mh-plant-rebirth flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to self :group (-> *part-group-id-table* 571)) + (part-tracker-spawn part-tracker-subsampler :to self :group group-mh-plant-rebirth) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 571)) + (part-tracker-spawn part-tracker :to self :group group-mh-plant-rebirth) ) ) ) @@ -250,13 +250,13 @@ (('event-pop) (sound-play "plant-pop") (cond - ((logtest? (-> *part-group-id-table* 576 flags) (sp-group-flag sp13)) + ((logtest? (-> group-mh-plant-pop flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to self :group (-> *part-group-id-table* 576)) + (part-tracker-spawn part-tracker-subsampler :to self :group group-mh-plant-pop) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 576)) + (part-tracker-spawn part-tracker :to self :group group-mh-plant-pop) ) ) ) @@ -283,13 +283,13 @@ (cond ((time-elapsed? (-> self sub-state-time) (seconds 4)) (cond - ((logtest? (-> *part-group-id-table* 575 flags) (sp-group-flag sp13)) + ((logtest? (-> group-mh-plant-warning flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to self :group (-> *part-group-id-table* 575)) + (part-tracker-spawn part-tracker-subsampler :to self :group group-mh-plant-warning) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 575)) + (part-tracker-spawn part-tracker :to self :group group-mh-plant-warning) ) ) (sound-play "plant-throb") @@ -340,13 +340,13 @@ :virtual #t :enter (behavior () (cond - ((logtest? (-> *part-group-id-table* 574 flags) (sp-group-flag sp13)) + ((logtest? (-> group-mh-plant-die flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 574)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-mh-plant-die) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 574)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-mh-plant-die) ) ) (sound-play "kill-plants") diff --git a/test/decompiler/reference/jak3/levels/forest/neo-spawner_REF.gc b/test/decompiler/reference/jak3/levels/forest/neo-spawner_REF.gc index 46f9a88cd4..3b997fa5e1 100644 --- a/test/decompiler/reference/jak3/levels/forest/neo-spawner_REF.gc +++ b/test/decompiler/reference/jak3/levels/forest/neo-spawner_REF.gc @@ -713,9 +713,9 @@ (matrix-f-compose gp-0 a1-5) ) (vector-copy! (-> gp-0 trans) (-> self root trans)) - (if (logtest? (-> *part-group-id-table* 566 flags) (sp-group-flag sp13)) - (part-tracker-spawn part-tracker-subsampler :to self :group (-> *part-group-id-table* 566) :mat-joint gp-0) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 566) :mat-joint gp-0) + (if (logtest? (-> group-neo-spawner-spit flags) (sp-group-flag sp13)) + (part-tracker-spawn part-tracker-subsampler :to self :group group-neo-spawner-spit :mat-joint gp-0) + (part-tracker-spawn part-tracker :to self :group group-neo-spawner-spit :mat-joint gp-0) ) ) (set-time! (-> self last-spawn-time)) @@ -797,13 +797,13 @@ (debris-spawn self a1-7 *neo-spawner-debris-params* (the-as process-drawable #f)) ) (cond - ((logtest? (-> *part-group-id-table* 565 flags) (sp-group-flag sp13)) + ((logtest? (-> group-neo-spawner-explode flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 565)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-neo-spawner-explode) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 565)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-neo-spawner-explode) ) ) (sound-play "neo-spwnr-xpld") @@ -921,7 +921,7 @@ ) (set! (-> this info) (the-as neo-spawner-type *neo-spawner-info*)) (set! (-> this root pause-adjust-distance) 286720.0) - (set! (-> this dead-part) (create-launch-control (-> *part-group-id-table* 567) this)) + (set! (-> this dead-part) (create-launch-control group-neo-spawner-dead this)) (set! (-> this manager-entity) (entity-actor-lookup (-> this entity) 'alt-actor 1)) (set! (-> this turret-entity) (entity-actor-lookup (-> this entity) 'alt-actor 2)) (set! (-> this minimap) #f) diff --git a/test/decompiler/reference/jak3/levels/glider/glider-ring_REF.gc b/test/decompiler/reference/jak3/levels/glider/glider-ring_REF.gc index 2026f71779..dc39063686 100644 --- a/test/decompiler/reference/jak3/levels/glider/glider-ring_REF.gc +++ b/test/decompiler/reference/jak3/levels/glider/glider-ring_REF.gc @@ -414,19 +414,14 @@ (send-event arg0 'ring-pos (-> self root trans) (-> s4-4 fvec)) ) (set-time! (-> self touch-time)) - (if (logtest? (-> *part-group-id-table* 655 flags) (sp-group-flag sp13)) + (if (logtest? (-> group-glider-ring-explode flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 655) - :mat-joint (-> self mat) - ) - (part-tracker-spawn - part-tracker - :to *entity-pool* - :group (-> *part-group-id-table* 655) + :group group-glider-ring-explode :mat-joint (-> self mat) ) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-glider-ring-explode :mat-joint (-> self mat)) ) (when (logtest? (-> gp-2 root-prim prim-core collide-as) (collide-spec jak)) (set! (-> self player-got) #t) @@ -680,9 +675,9 @@ (set! (-> this plane w) (- (vector-dot (-> this plane) (-> this root trans)))) (update-transforms (-> this root)) (set! (-> this player-got) #f) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 652) this)) - (set! (-> this distant-part) (create-launch-control (-> *part-group-id-table* 654) this)) - (set! (-> this blinky-part) (create-launch-control (-> *part-group-id-table* 660) this)) + (set! (-> this part) (create-launch-control group-glider-ring this)) + (set! (-> this distant-part) (create-launch-control group-distant-glider-ring this)) + (set! (-> this blinky-part) (create-launch-control group-glider-blinking-dot this)) (set! (-> this blinky-gone?) #f) (if (not (-> this persistent)) (set! (-> this minimap) #f) @@ -838,7 +833,7 @@ ;; INFO: Used lq/sq ;; WARN: Return type mismatch int vs none. (defmethod init-part-and-mat! ((this glider-thermal)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 656) this)) + (set! (-> this part) (create-launch-control group-wind-thermal this)) (matrix-identity! (-> this mat)) (vector-copy! (-> this mat trans) (-> this root trans)) 0 @@ -911,13 +906,13 @@ ;; WARN: Return type mismatch int vs none. (defun glider-launch-mist-particle ((arg0 vector) (arg1 process)) (cond - ((logtest? (-> *part-group-id-table* 657 flags) (sp-group-flag sp13)) + ((logtest? (-> group-glider-cloud flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) arg0) - (part-tracker-spawn part-tracker-subsampler :to arg1 :group (-> *part-group-id-table* 657) :duration -1) + (part-tracker-spawn part-tracker-subsampler :to arg1 :group group-glider-cloud :duration -1) ) (else (vector-copy! (-> *launch-matrix* trans) arg0) - (part-tracker-spawn part-tracker :to arg1 :group (-> *part-group-id-table* 657) :duration -1) + (part-tracker-spawn part-tracker :to arg1 :group group-glider-cloud :duration -1) ) ) 0 diff --git a/test/decompiler/reference/jak3/levels/gungame/gun-dummy_REF.gc b/test/decompiler/reference/jak3/levels/gungame/gun-dummy_REF.gc index 3fdd2669db..e2a4af2d1b 100644 --- a/test/decompiler/reference/jak3/levels/gungame/gun-dummy_REF.gc +++ b/test/decompiler/reference/jak3/levels/gungame/gun-dummy_REF.gc @@ -596,14 +596,14 @@ (matrix-fu-compose s5-3 s4-3 *up-vector*) ) (vector-copy! (-> s5-3 trans) (-> self root trans)) - (if (logtest? (-> *part-group-id-table* 1425 flags) (sp-group-flag sp13)) + (if (logtest? (-> group-gun-dummy-shield-explode flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 1425) + :group group-gun-dummy-shield-explode :mat-joint s5-3 ) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 1425) :mat-joint s5-3) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-gun-dummy-shield-explode :mat-joint s5-3) ) ) (setup-masks (-> self draw) 0 gp-2) @@ -873,7 +873,7 @@ ) ) (setup-masks (-> this draw) 0 (gun-dummy-method-35 this)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 1413) this)) + (set! (-> this part) (create-launch-control group-gun-dummy-sparks this)) (set! (-> this next-spark) 0) (set! (-> this explode-part-group) #f) (set-explode-group this) @@ -1210,7 +1210,7 @@ (quaternion-identity! (-> s5-1 spawn-quat)) (set! (-> s5-1 radius) 24576.0) (set! (-> s5-1 scale) 1.0) - (set! (-> s5-1 group) (-> *part-group-id-table* 1424)) + (set! (-> s5-1 group) group-dummy-explode-bomb-spider-explode) (set! (-> s5-1 collide-with) (collide-spec jak player-list)) (set! (-> s5-1 damage) 2.0) (set! (-> s5-1 damage-scale) 1.0) @@ -2169,84 +2169,84 @@ ;; definition for method 37 of type gun-dummy-cit-a ;; WARN: Return type mismatch sparticle-launch-group vs none. (defmethod set-explode-group ((this gun-dummy-cit-a)) - (set! (-> this explode-part-group) (-> *part-group-id-table* 1414)) + (set! (-> this explode-part-group) group-dummy-explode-cit-a) (none) ) ;; definition for method 37 of type gun-dummy-cit-ratchet ;; WARN: Return type mismatch sparticle-launch-group vs none. (defmethod set-explode-group ((this gun-dummy-cit-ratchet)) - (set! (-> this explode-part-group) (-> *part-group-id-table* 1414)) + (set! (-> this explode-part-group) group-dummy-explode-cit-a) (none) ) ;; definition for method 37 of type gun-dummy-cit-clank ;; WARN: Return type mismatch sparticle-launch-group vs none. (defmethod set-explode-group ((this gun-dummy-cit-clank)) - (set! (-> this explode-part-group) (-> *part-group-id-table* 1414)) + (set! (-> this explode-part-group) group-dummy-explode-cit-a) (none) ) ;; definition for method 37 of type gun-dummy-cit-b ;; WARN: Return type mismatch sparticle-launch-group vs none. (defmethod set-explode-group ((this gun-dummy-cit-b)) - (set! (-> this explode-part-group) (-> *part-group-id-table* 1415)) + (set! (-> this explode-part-group) group-dummy-explode-cit-b) (none) ) ;; definition for method 37 of type gun-dummy-cit-c ;; WARN: Return type mismatch sparticle-launch-group vs none. (defmethod set-explode-group ((this gun-dummy-cit-c)) - (set! (-> this explode-part-group) (-> *part-group-id-table* 1416)) + (set! (-> this explode-part-group) group-dummy-explode-cit-c) (none) ) ;; definition for method 37 of type gun-dummy-cit-d ;; WARN: Return type mismatch sparticle-launch-group vs none. (defmethod set-explode-group ((this gun-dummy-cit-d)) - (set! (-> this explode-part-group) (-> *part-group-id-table* 1417)) + (set! (-> this explode-part-group) group-dummy-explode-cit-d) (none) ) ;; definition for method 37 of type gun-dummy-kg-b ;; WARN: Return type mismatch sparticle-launch-group vs none. (defmethod set-explode-group ((this gun-dummy-kg-b)) - (set! (-> this explode-part-group) (-> *part-group-id-table* 1419)) + (set! (-> this explode-part-group) group-dummy-explode-kg-b) (none) ) ;; definition for method 37 of type gun-dummy-kg-c ;; WARN: Return type mismatch sparticle-launch-group vs none. (defmethod set-explode-group ((this gun-dummy-kg-c)) - (set! (-> this explode-part-group) (-> *part-group-id-table* 1420)) + (set! (-> this explode-part-group) group-dummy-explode-kg-c) (none) ) ;; definition for method 37 of type gun-dummy-kg-big ;; WARN: Return type mismatch sparticle-launch-group vs none. (defmethod set-explode-group ((this gun-dummy-kg-big)) - (set! (-> this explode-part-group) (-> *part-group-id-table* 1418)) + (set! (-> this explode-part-group) group-dummy-explode-kg-big) (none) ) ;; definition for method 37 of type gun-dummy-kg-bonus ;; WARN: Return type mismatch sparticle-launch-group vs none. (defmethod set-explode-group ((this gun-dummy-kg-bonus)) - (set! (-> this explode-part-group) (-> *part-group-id-table* 1423)) + (set! (-> this explode-part-group) group-dummy-explode-kg-bonus) (none) ) ;; definition for method 37 of type gun-dummy-gun ;; WARN: Return type mismatch sparticle-launch-group vs none. (defmethod set-explode-group ((this gun-dummy-gun)) - (set! (-> this explode-part-group) (-> *part-group-id-table* 1414)) + (set! (-> this explode-part-group) group-dummy-explode-cit-a) (none) ) ;; definition for method 37 of type gun-dummy-explode ;; WARN: Return type mismatch sparticle-launch-group vs none. (defmethod set-explode-group ((this gun-dummy-explode)) - (set! (-> this explode-part-group) (-> *part-group-id-table* 1422)) + (set! (-> this explode-part-group) group-dummy-explode-bomb-spider-shatter) (none) ) diff --git a/test/decompiler/reference/jak3/levels/mhcity/destroy-dark-eco_REF.gc b/test/decompiler/reference/jak3/levels/mhcity/destroy-dark-eco_REF.gc index 40657f514f..abc747a2d1 100644 --- a/test/decompiler/reference/jak3/levels/mhcity/destroy-dark-eco_REF.gc +++ b/test/decompiler/reference/jak3/levels/mhcity/destroy-dark-eco_REF.gc @@ -355,14 +355,9 @@ 0 (let ((gp-1 (quaternion->matrix (new 'stack-no-clear 'matrix) (-> self root quat)))) (vector-copy! (-> gp-1 trans) (-> self root trans)) - (if (logtest? (-> *part-group-id-table* 325 flags) (sp-group-flag sp13)) - (part-tracker-spawn - part-tracker-subsampler - :to *entity-pool* - :group (-> *part-group-id-table* 325) - :mat-joint gp-1 - ) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 325) :mat-joint gp-1) + (if (logtest? (-> group-puffer-egg-explode flags) (sp-group-flag sp13)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-puffer-egg-explode :mat-joint gp-1) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-puffer-egg-explode :mat-joint gp-1) ) ) (suspend-for (seconds 0.1) @@ -805,7 +800,7 @@ (set! (-> self last-attack-id) (the-as uint 0)) (set! (-> self hit-points) 1.0) (set! (-> self movie?) #f) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 1449) self)) + (set! (-> self part) (create-launch-control group-part-dark-egg-mist-active self)) (set! (-> self minimap) (add-icon! *minimap* self (the-as uint 13) (the-as int #f) (-> arg0 extra trans) 0)) (dotimes (gp-1 2) (quaternion-identity! (the-as quaternion (+ (the-as uint (-> self discs 0 orient)) (* 192 gp-1)))) @@ -884,7 +879,7 @@ (set! (-> self discs gp-2 cur-state) 'inactive) (init! (-> self discs gp-2 bolt) 8 4 *dark-tower-lightning*) ) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 1449) self)) + (set! (-> self part) (create-launch-control group-part-dark-egg-mist-active self)) (go-virtual active) ) diff --git a/test/decompiler/reference/jak3/levels/mhcity/mhcity-obs2_REF.gc b/test/decompiler/reference/jak3/levels/mhcity/mhcity-obs2_REF.gc index d75daaf13b..dff3dd3e54 100644 --- a/test/decompiler/reference/jak3/levels/mhcity/mhcity-obs2_REF.gc +++ b/test/decompiler/reference/jak3/levels/mhcity/mhcity-obs2_REF.gc @@ -87,7 +87,7 @@ (set! (-> this jump-y) (* 4096.0 (res-lump-float arg0 'jump-y :default 20.0))) (set! (-> this jump-z) (* 4096.0 (res-lump-float arg0 'jump-z :default 10.0))) (initialize-skeleton this (the-as skeleton-group (get-skel this)) (the-as pair 0)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 319) this)) + (set! (-> this part) (create-launch-control group-puffer-hard-blowing-steam this)) (set! (-> this period) (the-as uint 1200)) (set! (-> this duration) (the-as uint 750)) (set! (-> this is-jump?) (the-as basic #t)) @@ -166,7 +166,7 @@ (the-as pair 0) ) (set-vector! (-> self root scale) (-> arg0 scale) (-> arg0 scale) (-> arg0 scale) 1.0) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 319) self)) + (set! (-> self part) (create-launch-control group-puffer-hard-blowing-steam self)) (set! (-> self period) (the-as uint 1200)) (set! (-> self duration) (the-as uint 750)) (set! (-> self offset) (the-as uint (mod (the-as int (rand-uint31-gen *random-generator*)) 301))) diff --git a/test/decompiler/reference/jak3/levels/mhcity/mhcity-obs_REF.gc b/test/decompiler/reference/jak3/levels/mhcity/mhcity-obs_REF.gc index 5c31aede03..8e8ecf5b7d 100644 --- a/test/decompiler/reference/jak3/levels/mhcity/mhcity-obs_REF.gc +++ b/test/decompiler/reference/jak3/levels/mhcity/mhcity-obs_REF.gc @@ -870,7 +870,7 @@ (the-as pair 0) ) (set! (-> self draw light-index) (the-as uint 10)) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 328) self)) + (set! (-> self part) (create-launch-control group-mhcity-dark-eco-door self)) (go-virtual crack) ) @@ -909,13 +909,13 @@ (vector-copy! v1-0 (-> self root trans)) (+! (-> v1-0 y) 40960.0) (cond - ((logtest? (-> *part-group-id-table* 327 flags) (sp-group-flag sp13)) + ((logtest? (-> group-mhcity-door-break-door-bust flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) v1-0) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 327)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-mhcity-door-break-door-bust) ) (else (vector-copy! (-> *launch-matrix* trans) v1-0) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 327)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-mhcity-door-break-door-bust) ) ) ) @@ -1305,13 +1305,13 @@ :code (behavior () (sound-play "egg-explode") (cond - ((logtest? (-> *part-group-id-table* 326 flags) (sp-group-flag sp13)) + ((logtest? (-> group-mhcity-nodule-hit flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 326)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-mhcity-nodule-hit) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 326)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-mhcity-nodule-hit) ) ) (suspend-for (seconds 0.1) @@ -1396,13 +1396,13 @@ :enter (behavior () (sound-play "egg-explode") (cond - ((logtest? (-> *part-group-id-table* 325 flags) (sp-group-flag sp13)) + ((logtest? (-> group-puffer-egg-explode flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 325)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-puffer-egg-explode) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 325)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-puffer-egg-explode) ) ) (logior! (-> self draw status) (draw-control-status no-draw)) diff --git a/test/decompiler/reference/jak3/levels/mine/mine-obs_REF.gc b/test/decompiler/reference/jak3/levels/mine/mine-obs_REF.gc index 650b43c926..01f65bc7e0 100644 --- a/test/decompiler/reference/jak3/levels/mine/mine-obs_REF.gc +++ b/test/decompiler/reference/jak3/levels/mine/mine-obs_REF.gc @@ -1314,8 +1314,8 @@ (t9-0 this arg0) ) (logclear! (-> this mask) (process-mask actor-pause)) - (set! (-> this off-part) (create-launch-control (-> *part-group-id-table* 598) this)) - (set! (-> this on-part) (create-launch-control (-> *part-group-id-table* 599) this)) + (set! (-> this off-part) (create-launch-control group-min-target-sign-off this)) + (set! (-> this on-part) (create-launch-control group-min-target-sign-on this)) (set! (-> this alt-actor) (entity-actor-lookup arg0 'alt-actor 0)) (set! (-> this touched-train?) #f) (let ((v1-11 (-> *game-info* sub-task-list (game-task-node mine-blow-resolution)))) diff --git a/test/decompiler/reference/jak3/levels/mine/mine-train_REF.gc b/test/decompiler/reference/jak3/levels/mine/mine-train_REF.gc index 23b68add30..145fa1dceb 100644 --- a/test/decompiler/reference/jak3/levels/mine/mine-train_REF.gc +++ b/test/decompiler/reference/jak3/levels/mine/mine-train_REF.gc @@ -528,13 +528,13 @@ (spawn-debris self) (explode-sound self) (cond - ((logtest? (-> *part-group-id-table* 604 flags) (sp-group-flag sp13)) + ((logtest? (-> group-bomb-train-explode flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 604)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-bomb-train-explode) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 604)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-bomb-train-explode) ) ) (activate! *camera-smush-control* 819.2 36 210 0.5 1.0 (-> self clock)) @@ -569,13 +569,13 @@ (spawn-debris self) (explode-sound self) (cond - ((logtest? (-> *part-group-id-table* 604 flags) (sp-group-flag sp13)) + ((logtest? (-> group-bomb-train-explode flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 604)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-bomb-train-explode) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 604)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-bomb-train-explode) ) ) (activate! *camera-smush-control* 819.2 36 210 0.5 1.0 (-> self clock)) @@ -948,9 +948,9 @@ (set! (-> v1-64 attack-id) a0-24) (set! (-> this attack-id) a0-24) ) - (set! (-> this spark-part) (create-launch-control (-> *part-group-id-table* 605) this)) - (set! (-> this smoke-part) (create-launch-control (-> *part-group-id-table* 606) this)) - (set! (-> this light-part) (create-launch-control (-> *part-group-id-table* 607) this)) + (set! (-> this spark-part) (create-launch-control group-bomb-train-sparks this)) + (set! (-> this smoke-part) (create-launch-control group-bomb-train-smoke this)) + (set! (-> this light-part) (create-launch-control group-bomb-train-light this)) (set! (-> this doors-exploded?) #f) (set! (-> this taskman) (the-as handle #f)) (when (not (task-open? (the-as string ((method-of-type res-lump get-property-struct) diff --git a/test/decompiler/reference/jak3/levels/mine/mined-scenes_REF.gc b/test/decompiler/reference/jak3/levels/mine/mined-scenes_REF.gc index a74459e261..42e62366a5 100644 --- a/test/decompiler/reference/jak3/levels/mine/mined-scenes_REF.gc +++ b/test/decompiler/reference/jak3/levels/mine/mined-scenes_REF.gc @@ -1621,7 +1621,7 @@ (quaternion-identity! (-> s5-0 spawn-quat)) (set! (-> s5-0 radius) 8192.0) (set! (-> s5-0 scale) 1.0) - (set! (-> s5-0 group) (-> *part-group-id-table* 217)) + (set! (-> s5-0 group) group-kg-huge-explosion) (set! (-> s5-0 collide-with) (collide-spec)) (set! (-> s5-0 damage) 2.0) (set! (-> s5-0 damage-scale) 1.0) diff --git a/test/decompiler/reference/jak3/levels/mine/prebot-extras_REF.gc b/test/decompiler/reference/jak3/levels/mine/prebot-extras_REF.gc index 1221252486..a48bccd3b6 100644 --- a/test/decompiler/reference/jak3/levels/mine/prebot-extras_REF.gc +++ b/test/decompiler/reference/jak3/levels/mine/prebot-extras_REF.gc @@ -226,7 +226,7 @@ (quaternion-identity! (-> gp-1 spawn-quat)) (set! (-> gp-1 radius) 8192.0) (set! (-> gp-1 scale) 1.0) - (set! (-> gp-1 group) (-> *part-group-id-table* 218)) + (set! (-> gp-1 group) group-kg-big-explosion) (set! (-> gp-1 collide-with) (collide-spec)) (set! (-> gp-1 damage) 2.0) (set! (-> gp-1 damage-scale) 1.0) @@ -775,7 +775,7 @@ ;; WARN: Return type mismatch int vs none. (defmethod init-proj-settings! ((this prebot-gun-shot)) (set! (-> this attack-mode) 'eco-dark) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 1335) this)) + (set! (-> this part) (create-launch-control group-prebot-gun-shot-trail this)) (set! (-> this sound-id) (new-sound-id)) ((method-of-type projectile init-proj-settings!) this) 0 @@ -858,7 +858,7 @@ (quaternion-identity! (-> gp-0 spawn-quat)) (set! (-> gp-0 radius) 8192.0) (set! (-> gp-0 scale) 1.0) - (set! (-> gp-0 group) (-> *part-group-id-table* 1343)) + (set! (-> gp-0 group) group-prebot-gun-shot-explosion) (set! (-> gp-0 collide-with) (collide-spec backgnd jak crate enemy obstacle vehicle-sphere hit-by-others-list player-list pusher shield) ) @@ -914,18 +914,18 @@ (set! (-> gp-0 timeout) (seconds 4)) (spawn-projectile prebot-gun-shot gp-0 (ppointer->process (-> self parent)) *default-dead-pool*) ) - (if (logtest? (-> *part-group-id-table* 1334 flags) (sp-group-flag sp13)) + (if (logtest? (-> group-prebot-launch-critter flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 1334) + :group group-prebot-launch-critter :duration (seconds 1) :mat-joint (-> self node-list data 7 bone transform) ) (part-tracker-spawn part-tracker :to *entity-pool* - :group (-> *part-group-id-table* 1334) + :group group-prebot-launch-critter :duration (seconds 1) :mat-joint (-> self node-list data 7 bone transform) ) @@ -1115,13 +1115,13 @@ ) (sound-play "columns-break" :position (-> self root trans)) (cond - ((logtest? (-> *part-group-id-table* 1344 flags) (sp-group-flag sp13)) + ((logtest? (-> group-prebot-pillar-shatter flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 1344)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-prebot-pillar-shatter) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 1344)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-prebot-pillar-shatter) ) ) (go-virtual wait-to-die) diff --git a/test/decompiler/reference/jak3/levels/mine/prebot-setup_REF.gc b/test/decompiler/reference/jak3/levels/mine/prebot-setup_REF.gc index 2b33c2974e..f92cb935a5 100644 --- a/test/decompiler/reference/jak3/levels/mine/prebot-setup_REF.gc +++ b/test/decompiler/reference/jak3/levels/mine/prebot-setup_REF.gc @@ -677,9 +677,9 @@ (set! (-> self end-y) (+ (-> arg0 y) (-> arg1 height))) (set! (-> self vulnerable) #f) (set! (-> self hot) #f) - (set! (-> self heat-part) (create-launch-control (-> *part-group-id-table* 1336) self)) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 1337) self)) - (set! (-> self cool-part) (create-launch-control (-> *part-group-id-table* 1338) self)) + (set! (-> self heat-part) (create-launch-control group-prebot-eco-pillar-heat-up self)) + (set! (-> self part) (create-launch-control group-prebot-eco-pillar-grow self)) + (set! (-> self cool-part) (create-launch-control group-prebot-eco-pillar-cool-down self)) (go-virtual heat-up) ) diff --git a/test/decompiler/reference/jak3/levels/mine/prebot-states_REF.gc b/test/decompiler/reference/jak3/levels/mine/prebot-states_REF.gc index 4161fddecc..fb087f7c65 100644 --- a/test/decompiler/reference/jak3/levels/mine/prebot-states_REF.gc +++ b/test/decompiler/reference/jak3/levels/mine/prebot-states_REF.gc @@ -1199,18 +1199,18 @@ (cond (s3-0 (vector<-cspace! gp-0 (-> (the-as process-drawable s3-0) node-list data 7)) - (if (logtest? (-> *part-group-id-table* 1334 flags) (sp-group-flag sp13)) + (if (logtest? (-> group-prebot-launch-critter flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 1334) + :group group-prebot-launch-critter :duration (seconds 1) :mat-joint (-> (the-as process-drawable s3-0) node-list data 7 bone transform) ) (part-tracker-spawn part-tracker :to *entity-pool* - :group (-> *part-group-id-table* 1334) + :group group-prebot-launch-critter :duration (seconds 1) :mat-joint (-> (the-as process-drawable s3-0) node-list data 7 bone transform) ) diff --git a/test/decompiler/reference/jak3/levels/nest/egg-spider_REF.gc b/test/decompiler/reference/jak3/levels/nest/egg-spider_REF.gc index b8c4119114..1655cdcb92 100644 --- a/test/decompiler/reference/jak3/levels/nest/egg-spider_REF.gc +++ b/test/decompiler/reference/jak3/levels/nest/egg-spider_REF.gc @@ -1296,13 +1296,13 @@ (sound-play "spider-get-hit") ) (cond - ((logtest? (-> *part-group-id-table* 638 flags) (sp-group-flag sp13)) + ((logtest? (-> group-egg-spider-explosion flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 638)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-egg-spider-explosion) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 638)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-egg-spider-explosion) ) ) (let ((t9-12 (-> (method-of-type nav-enemy knocked) enter))) @@ -1349,13 +1349,13 @@ ) :code (behavior () (cond - ((logtest? (-> *part-group-id-table* 639 flags) (sp-group-flag sp13)) + ((logtest? (-> group-egg-spider-birth flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 639)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-egg-spider-birth) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 639)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-egg-spider-birth) ) ) (suspend-for (seconds 0.6) diff --git a/test/decompiler/reference/jak3/levels/nest/mh-bat_REF.gc b/test/decompiler/reference/jak3/levels/nest/mh-bat_REF.gc index 2b0a787d23..8abf11f87f 100644 --- a/test/decompiler/reference/jak3/levels/nest/mh-bat_REF.gc +++ b/test/decompiler/reference/jak3/levels/nest/mh-bat_REF.gc @@ -1454,15 +1454,9 @@ ) (vector<-cspace! (-> gp-0 trans) (joint-node mh-bat-lod0-jg jaw)) ) - (if (logtest? (-> *part-group-id-table* 635 flags) (sp-group-flag sp13)) - (part-tracker-spawn - part-tracker-subsampler - :to self - :group (-> *part-group-id-table* 635) - :target self - :mat-joint 36 - ) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 635) :target self :mat-joint 36) + (if (logtest? (-> group-mh-bat-charge-up flags) (sp-group-flag sp13)) + (part-tracker-spawn part-tracker-subsampler :to self :group group-mh-bat-charge-up :target self :mat-joint 36) + (part-tracker-spawn part-tracker :to self :group group-mh-bat-charge-up :target self :mat-joint 36) ) ) :trans (behavior () diff --git a/test/decompiler/reference/jak3/levels/nest/mh-centipede-part_REF.gc b/test/decompiler/reference/jak3/levels/nest/mh-centipede-part_REF.gc index ee4dc8a023..7a3cb36a5f 100644 --- a/test/decompiler/reference/jak3/levels/nest/mh-centipede-part_REF.gc +++ b/test/decompiler/reference/jak3/levels/nest/mh-centipede-part_REF.gc @@ -1100,13 +1100,13 @@ (sp-kill-particle arg0 arg1) (set-vector! gp-0 (-> arg2 x) (-> arg1 omega) (-> arg2 z) 1.0) (cond - ((logtest? (-> *part-group-id-table* 648 flags) (sp-group-flag sp13)) + ((logtest? (-> part-mh-centipede-explosion-splats flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) gp-0) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 648)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group part-mh-centipede-explosion-splats) ) (else (vector-copy! (-> *launch-matrix* trans) gp-0) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 648)) + (part-tracker-spawn part-tracker :to *entity-pool* :group part-mh-centipede-explosion-splats) ) ) ) diff --git a/test/decompiler/reference/jak3/levels/nest/mh-centipede_REF.gc b/test/decompiler/reference/jak3/levels/nest/mh-centipede_REF.gc index 6d1858cd53..9487fe18a2 100644 --- a/test/decompiler/reference/jak3/levels/nest/mh-centipede_REF.gc +++ b/test/decompiler/reference/jak3/levels/nest/mh-centipede_REF.gc @@ -980,7 +980,7 @@ (quaternion-identity! (-> gp-1 spawn-quat)) (set! (-> gp-1 radius) 8192.0) (set! (-> gp-1 scale) 1.0) - (set! (-> gp-1 group) (-> *part-group-id-table* 650)) + (set! (-> gp-1 group) group-mh-centipede-shot-explosion) (set! (-> gp-1 collide-with) (collide-spec backgnd jak crate enemy obstacle vehicle-sphere hit-by-others-list player-list pusher shield) ) @@ -1196,9 +1196,9 @@ ) (vector+! (-> s3-0 trans) (-> s1-0 collision-pt) s4-0) (let ((v1-23 - (if (logtest? (-> *part-group-id-table* 643 flags) (sp-group-flag sp13)) - (part-tracker-spawn part-tracker-subsampler :to arg0 :group (-> *part-group-id-table* 643) :mat-joint s3-0) - (part-tracker-spawn part-tracker :to arg0 :group (-> *part-group-id-table* 643) :mat-joint s3-0) + (if (logtest? (-> group-mh-centipede-crater-mark flags) (sp-group-flag sp13)) + (part-tracker-spawn part-tracker-subsampler :to arg0 :group group-mh-centipede-crater-mark :mat-joint s3-0) + (part-tracker-spawn part-tracker :to arg0 :group group-mh-centipede-crater-mark :mat-joint s3-0) ) ) ) @@ -1819,9 +1819,9 @@ ) ) (let ((v1-22 - (if (logtest? (-> *part-group-id-table* 647 flags) (sp-group-flag sp13)) - (part-tracker-spawn part-tracker-subsampler :to this :group (-> *part-group-id-table* 647) :mat-joint s5-0) - (part-tracker-spawn part-tracker :to this :group (-> *part-group-id-table* 647) :mat-joint s5-0) + (if (logtest? (-> group-mh-centipede-death flags) (sp-group-flag sp13)) + (part-tracker-spawn part-tracker-subsampler :to this :group group-mh-centipede-death :mat-joint s5-0) + (part-tracker-spawn part-tracker :to this :group group-mh-centipede-death :mat-joint s5-0) ) ) ) @@ -3132,11 +3132,11 @@ (set! (-> this flags) (mh-centipede-flag)) (set! (-> this incoming-attack-id) (the-as uint 0)) (set! (-> this hit-points) 100.0) - (set! (-> this before-breach-part) (create-launch-control (-> *part-group-id-table* 641) this)) - (set! (-> this breach-part) (create-launch-control (-> *part-group-id-table* 642) this)) - (set! (-> this dirt-fall-part) (create-launch-control (-> *part-group-id-table* 644) this)) - (set! (-> this impact-part) (create-launch-control (-> *part-group-id-table* 645) this)) - (set! (-> this impact-dust-part) (create-launch-control (-> *part-group-id-table* 646) this)) + (set! (-> this before-breach-part) (create-launch-control group-mh-centipede-before-breach this)) + (set! (-> this breach-part) (create-launch-control group-mh-centipede-breach this)) + (set! (-> this dirt-fall-part) (create-launch-control group-mh-centipede-dirt-fall-off this)) + (set! (-> this impact-part) (create-launch-control group-mh-centipede-impact this)) + (set! (-> this impact-dust-part) (create-launch-control group-mh-centipede-impact-dust-up this)) (set! (-> this breach-anims) (new 'static 'boxed-array :type mh-centipede-anim (new 'static 'mh-centipede-anim diff --git a/test/decompiler/reference/jak3/levels/nest/nst-obs_REF.gc b/test/decompiler/reference/jak3/levels/nest/nst-obs_REF.gc index de889693ad..dc216771d3 100644 --- a/test/decompiler/reference/jak3/levels/nest/nst-obs_REF.gc +++ b/test/decompiler/reference/jak3/levels/nest/nst-obs_REF.gc @@ -152,13 +152,13 @@ (vector-copy! v1-18 (-> self root trans)) (+! (-> v1-18 y) 8192.0) (cond - ((logtest? (-> *part-group-id-table* 611 flags) (sp-group-flag sp13)) + ((logtest? (-> group-nst-metalhead-egg-explode flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) v1-18) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 611)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-nst-metalhead-egg-explode) ) (else (vector-copy! (-> *launch-matrix* trans) v1-18) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 611)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-nst-metalhead-egg-explode) ) ) ) @@ -591,12 +591,12 @@ ) :code (behavior () (cond - ((logtest? (-> *part-group-id-table* 622 flags) (sp-group-flag sp13)) + ((logtest? (-> group-nst-bridge-goo-explosion flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 622) + :group group-nst-bridge-goo-explosion :duration (seconds 5) ) ) @@ -605,7 +605,7 @@ (part-tracker-spawn part-tracker :to *entity-pool* - :group (-> *part-group-id-table* 622) + :group group-nst-bridge-goo-explosion :duration (seconds 5) ) ) @@ -773,83 +773,63 @@ :parent (nst-falling-stone-bridge nst-bridge-base-state) :code (behavior () (cond - ((logtest? (-> *part-group-id-table* 619 flags) (sp-group-flag sp13)) + ((logtest? (-> group-nest-ceiling-dust-1 flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self node-list data 4 bone transform trans)) (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 619) + :group group-nest-ceiling-dust-1 :duration (seconds 0.017) ) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self node-list data 4 bone transform trans)) - (part-tracker-spawn - part-tracker - :to *entity-pool* - :group (-> *part-group-id-table* 619) - :duration (seconds 0.017) - ) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-nest-ceiling-dust-1 :duration (seconds 0.017)) ) ) (cond - ((logtest? (-> *part-group-id-table* 619 flags) (sp-group-flag sp13)) + ((logtest? (-> group-nest-ceiling-dust-1 flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self node-list data 5 bone transform trans)) (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 619) + :group group-nest-ceiling-dust-1 :duration (seconds 0.017) ) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self node-list data 5 bone transform trans)) - (part-tracker-spawn - part-tracker - :to *entity-pool* - :group (-> *part-group-id-table* 619) - :duration (seconds 0.017) - ) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-nest-ceiling-dust-1 :duration (seconds 0.017)) ) ) (cond - ((logtest? (-> *part-group-id-table* 619 flags) (sp-group-flag sp13)) + ((logtest? (-> group-nest-ceiling-dust-1 flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self node-list data 6 bone transform trans)) (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 619) + :group group-nest-ceiling-dust-1 :duration (seconds 0.017) ) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self node-list data 6 bone transform trans)) - (part-tracker-spawn - part-tracker - :to *entity-pool* - :group (-> *part-group-id-table* 619) - :duration (seconds 0.017) - ) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-nest-ceiling-dust-1 :duration (seconds 0.017)) ) ) (cond - ((logtest? (-> *part-group-id-table* 619 flags) (sp-group-flag sp13)) + ((logtest? (-> group-nest-ceiling-dust-1 flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self node-list data 7 bone transform trans)) (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 619) + :group group-nest-ceiling-dust-1 :duration (seconds 0.017) ) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self node-list data 7 bone transform trans)) - (part-tracker-spawn - part-tracker - :to *entity-pool* - :group (-> *part-group-id-table* 619) - :duration (seconds 0.017) - ) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-nest-ceiling-dust-1 :duration (seconds 0.017)) ) ) (when (-> self actor-group) @@ -874,7 +854,7 @@ ) (when (not (logtest? gp-8 1)) (cond - ((logtest? (-> *part-group-id-table* 619 flags) (sp-group-flag sp13)) + ((logtest? (-> group-nest-ceiling-dust-1 flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self node-list data (-> *nst-falling-stone-bridge-part-nodes* (logand gp-8 3)) bone transform trans) @@ -882,7 +862,7 @@ (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 619) + :group group-nest-ceiling-dust-1 :duration (seconds 0.017) ) ) @@ -891,12 +871,7 @@ (-> *launch-matrix* trans) (-> self node-list data (-> *nst-falling-stone-bridge-part-nodes* (logand gp-8 3)) bone transform trans) ) - (part-tracker-spawn - part-tracker - :to *entity-pool* - :group (-> *part-group-id-table* 619) - :duration (seconds 0.017) - ) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-nest-ceiling-dust-1 :duration (seconds 0.017)) ) ) ) @@ -940,134 +915,104 @@ (when (< s5-0 (the int f30-0)) (when (= (the int f30-0) (+ gp-0 -10)) (cond - ((logtest? (-> *part-group-id-table* 619 flags) (sp-group-flag sp13)) + ((logtest? (-> group-nest-ceiling-dust-1 flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self node-list data 4 bone transform trans)) (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 619) + :group group-nest-ceiling-dust-1 :duration (seconds 0.017) ) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self node-list data 4 bone transform trans)) - (part-tracker-spawn - part-tracker - :to *entity-pool* - :group (-> *part-group-id-table* 619) - :duration (seconds 0.017) - ) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-nest-ceiling-dust-1 :duration (seconds 0.017)) ) ) (cond - ((logtest? (-> *part-group-id-table* 619 flags) (sp-group-flag sp13)) + ((logtest? (-> group-nest-ceiling-dust-1 flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self node-list data 5 bone transform trans)) (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 619) + :group group-nest-ceiling-dust-1 :duration (seconds 0.017) ) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self node-list data 5 bone transform trans)) - (part-tracker-spawn - part-tracker - :to *entity-pool* - :group (-> *part-group-id-table* 619) - :duration (seconds 0.017) - ) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-nest-ceiling-dust-1 :duration (seconds 0.017)) ) ) (cond - ((logtest? (-> *part-group-id-table* 619 flags) (sp-group-flag sp13)) + ((logtest? (-> group-nest-ceiling-dust-1 flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self node-list data 7 bone transform trans)) (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 619) + :group group-nest-ceiling-dust-1 :duration (seconds 0.017) ) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self node-list data 7 bone transform trans)) - (part-tracker-spawn - part-tracker - :to *entity-pool* - :group (-> *part-group-id-table* 619) - :duration (seconds 0.017) - ) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-nest-ceiling-dust-1 :duration (seconds 0.017)) ) ) (cond - ((logtest? (-> *part-group-id-table* 619 flags) (sp-group-flag sp13)) + ((logtest? (-> group-nest-ceiling-dust-1 flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self node-list data 8 bone transform trans)) (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 619) + :group group-nest-ceiling-dust-1 :duration (seconds 0.017) ) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self node-list data 8 bone transform trans)) - (part-tracker-spawn - part-tracker - :to *entity-pool* - :group (-> *part-group-id-table* 619) - :duration (seconds 0.017) - ) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-nest-ceiling-dust-1 :duration (seconds 0.017)) ) ) (cond - ((logtest? (-> *part-group-id-table* 619 flags) (sp-group-flag sp13)) + ((logtest? (-> group-nest-ceiling-dust-1 flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self node-list data 9 bone transform trans)) (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 619) + :group group-nest-ceiling-dust-1 :duration (seconds 0.017) ) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self node-list data 9 bone transform trans)) - (part-tracker-spawn - part-tracker - :to *entity-pool* - :group (-> *part-group-id-table* 619) - :duration (seconds 0.017) - ) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-nest-ceiling-dust-1 :duration (seconds 0.017)) ) ) (cond - ((logtest? (-> *part-group-id-table* 619 flags) (sp-group-flag sp13)) + ((logtest? (-> group-nest-ceiling-dust-1 flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self node-list data 10 bone transform trans)) (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 619) + :group group-nest-ceiling-dust-1 :duration (seconds 0.017) ) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self node-list data 10 bone transform trans)) - (part-tracker-spawn - part-tracker - :to *entity-pool* - :group (-> *part-group-id-table* 619) - :duration (seconds 0.017) - ) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-nest-ceiling-dust-1 :duration (seconds 0.017)) ) ) ) (when (= (the int f30-0) (+ gp-0 -3)) (cond - ((logtest? (-> *part-group-id-table* 621 flags) (sp-group-flag sp13)) + ((logtest? (-> group-nest-ground-impact-dust flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self node-list data 12 bone transform trans)) (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 621) + :group group-nest-ground-impact-dust :duration (seconds 0.017) ) ) @@ -1076,7 +1021,7 @@ (part-tracker-spawn part-tracker :to *entity-pool* - :group (-> *part-group-id-table* 621) + :group group-nest-ground-impact-dust :duration (seconds 0.017) ) ) @@ -1590,13 +1535,13 @@ ;; WARN: Return type mismatch int vs none. (defmethod projectile-method-26 ((this cocoon-grenade-shot)) (cond - ((logtest? (-> *part-group-id-table* 105 flags) (sp-group-flag sp13)) + ((logtest? (-> group-gun-green-shot-hit flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> this root trans)) - (part-tracker-spawn part-tracker-subsampler :to this :group (-> *part-group-id-table* 105)) + (part-tracker-spawn part-tracker-subsampler :to this :group group-gun-green-shot-hit) ) (else (vector-copy! (-> *launch-matrix* trans) (-> this root trans)) - (part-tracker-spawn part-tracker :to this :group (-> *part-group-id-table* 105)) + (part-tracker-spawn part-tracker :to this :group group-gun-green-shot-hit) ) ) 0 @@ -1639,7 +1584,7 @@ (let ((f0-5 1092.2667)) (quaternion-axis-angle! (-> this tumble-quat) 1.0 0.0 0.0 f0-5) ) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 634) this)) + (set! (-> this part) (create-launch-control group-cocoon-grenade-shot this)) (set! (-> this sound-id) (new-sound-id)) (none) ) @@ -2060,13 +2005,13 @@ ) :code (behavior () (cond - ((logtest? (-> *part-group-id-table* 617 flags) (sp-group-flag sp13)) + ((logtest? (-> group-cocoon-turret-hit flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self incoming attack-position)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 617)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-cocoon-turret-hit) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self incoming attack-position)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 617)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-cocoon-turret-hit) ) ) (sound-play "cocoon-shriek") @@ -2109,12 +2054,12 @@ (kill-particles (-> self charge-down-part)) (kill-particles (-> self charge-up-part)) (cond - ((logtest? (-> *part-group-id-table* 616 flags) (sp-group-flag sp13)) + ((logtest? (-> group-cocoon-turret-explosion flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self node-list data 12 bone transform trans)) (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 616) + :group group-cocoon-turret-explosion :duration (seconds 0.335) ) ) @@ -2123,7 +2068,7 @@ (part-tracker-spawn part-tracker :to *entity-pool* - :group (-> *part-group-id-table* 616) + :group group-cocoon-turret-explosion :duration (seconds 0.335) ) ) @@ -2430,10 +2375,10 @@ (quaternion-copy! (-> this turret transform quat) (-> this root quat)) (quaternion-copy! (-> this dest-quat) (-> this root quat)) (set! (-> this turret transform trans quad) (-> this root trans quad)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 615) this)) - (set! (-> this cocoon-part) (create-launch-control (-> *part-group-id-table* 612) this)) - (set! (-> this charge-down-part) (create-launch-control (-> *part-group-id-table* 613) this)) - (set! (-> this charge-up-part) (create-launch-control (-> *part-group-id-table* 614) this)) + (set! (-> this part) (create-launch-control group-cocoon-turret-glow this)) + (set! (-> this cocoon-part) (create-launch-control group-cocoon-big-egg-glow this)) + (set! (-> this charge-down-part) (create-launch-control group-cocoon-big-egg-charge-down this)) + (set! (-> this charge-up-part) (create-launch-control group-cocoon-big-egg-charge-up this)) (set! (-> this activate-distance) (res-lump-float (-> this entity) 'distance)) (set! (-> this root pause-adjust-distance) (-> this activate-distance)) (set! (-> this sound-turret-loop) (static-sound-spec "cocoon-wind-up" :group 0)) @@ -2602,7 +2547,7 @@ (set! (-> this sound-amb-loop) (static-sound-spec "cocoon-amb-loop" :group 0)) (set! (-> this sound-amb-loop-id) (new-sound-id)) (set! (-> this root pause-adjust-distance) (res-lump-float (-> this entity) 'distance)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 633) this)) + (set! (-> this part) (create-launch-control group-cocoon-poison-gas-smoke this)) (cond ((task-node-closed? (game-task-node nest-eggs-gas)) (go (method-of-object this retracted)) diff --git a/test/decompiler/reference/jak3/levels/nest/nst-part_REF.gc b/test/decompiler/reference/jak3/levels/nest/nst-part_REF.gc index 75219c515f..1031e58708 100644 --- a/test/decompiler/reference/jak3/levels/nest/nst-part_REF.gc +++ b/test/decompiler/reference/jak3/levels/nest/nst-part_REF.gc @@ -727,7 +727,7 @@ (set! (-> gp-0 w) 1.0) (set! (-> gp-0 y) (-> arg1 omega)) (cond - ((= (-> arg1 key group) (-> *part-group-id-table* 619)) + ((= (-> arg1 key group) group-nest-ceiling-dust-1) (launch-particles (-> *part-id-table* 2415) gp-0) (launch-particles (-> *part-id-table* 2416) gp-0) (launch-particles (-> *part-id-table* 2417) gp-0) diff --git a/test/decompiler/reference/jak3/levels/precursor/precura-obs2_REF.gc b/test/decompiler/reference/jak3/levels/precursor/precura-obs2_REF.gc index a3ad998a7a..765e29822c 100644 --- a/test/decompiler/reference/jak3/levels/precursor/precura-obs2_REF.gc +++ b/test/decompiler/reference/jak3/levels/precursor/precura-obs2_REF.gc @@ -499,13 +499,13 @@ ) (sound-play "block-break") (cond - ((logtest? (-> *part-group-id-table* 195 flags) (sp-group-flag sp13)) + ((logtest? (-> group-crate-explode flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to self :group (-> *part-group-id-table* 195)) + (part-tracker-spawn part-tracker-subsampler :to self :group group-crate-explode) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 195)) + (part-tracker-spawn part-tracker :to self :group group-crate-explode) ) ) (go-virtual wait) @@ -515,13 +515,13 @@ ) (sound-play "block-break") (cond - ((logtest? (-> *part-group-id-table* 195 flags) (sp-group-flag sp13)) + ((logtest? (-> group-crate-explode flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to self :group (-> *part-group-id-table* 195)) + (part-tracker-spawn part-tracker-subsampler :to self :group group-crate-explode) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 195)) + (part-tracker-spawn part-tracker :to self :group group-crate-explode) ) ) (go-virtual wait) @@ -988,7 +988,7 @@ (quaternion-identity! (-> gp-1 spawn-quat)) (set! (-> gp-1 radius) 40960.0) (set! (-> gp-1 scale) 1.0) - (set! (-> gp-1 group) (-> *part-group-id-table* 1325)) + (set! (-> gp-1 group) group-kg-bomb-explosion) (set! (-> gp-1 collide-with) (collide-spec backgnd jak crate civilian enemy obstacle vehicle-sphere hit-by-others-list player-list pusher) ) @@ -1446,7 +1446,7 @@ ) ) (set! (-> this proc-handle) (the-as handle #f)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 1315) this)) + (set! (-> this part) (create-launch-control group-bomb-spawner this)) (go (method-of-object this idle)) ) @@ -1718,26 +1718,26 @@ (vector+float*! s3-0 arg0 arg1 sv-564) (matrix-f-compose s4-0 arg1) (vector-copy! (-> s4-0 trans) s3-0) - (if (logtest? (-> *part-group-id-table* 1326 flags) (sp-group-flag sp13)) + (if (logtest? (-> group-placeholder-single-laser flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 1326) + :group group-placeholder-single-laser :mat-joint s4-0 ) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 1326) :mat-joint s4-0) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-placeholder-single-laser :mat-joint s4-0) ) (vector+float*! s3-0 arg0 arg1 (- sv-564)) (matrix-f-compose s4-0 (vector-float*! (new 'stack-no-clear 'vector) arg1 -1.0)) (vector-copy! (-> s4-0 trans) s3-0) - (if (logtest? (-> *part-group-id-table* 1326 flags) (sp-group-flag sp13)) + (if (logtest? (-> group-placeholder-single-laser flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 1326) + :group group-placeholder-single-laser :mat-joint s4-0 ) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 1326) :mat-joint s4-0) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-placeholder-single-laser :mat-joint s4-0) ) ) (none) @@ -2131,7 +2131,7 @@ ;; definition for method 20 of type task-manager-precura (defmethod init! ((this task-manager-precura)) - (set! (-> this part-doom) (create-launch-control (-> *part-group-id-table* 1327) this)) + (set! (-> this part-doom) (create-launch-control group-precura-engulfing-death this)) (set-time! (-> this doom-time)) (set! (-> this doom-counter) (the-as uint 0)) (set! (-> this faded) (the-as uint 0)) @@ -2782,7 +2782,7 @@ (set! (-> this attack-id) a0-10) ) (set! (-> this bolt) (new 'process 'lightning-bolt)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 1316) this)) + (set! (-> this part) (create-launch-control group-shock-wave this)) (init! (-> this bolt) 2 32 *precur-tour-lightning*) (new 'stack-no-clear 'vector) (let ((v1-22 (process-spawn diff --git a/test/decompiler/reference/jak3/levels/precursor/precura-obs_REF.gc b/test/decompiler/reference/jak3/levels/precursor/precura-obs_REF.gc index 50612f9f23..7a89d5e226 100644 --- a/test/decompiler/reference/jak3/levels/precursor/precura-obs_REF.gc +++ b/test/decompiler/reference/jak3/levels/precursor/precura-obs_REF.gc @@ -707,13 +707,13 @@ :enter (behavior () (set-time! (-> self state-time)) (cond - ((logtest? (-> *part-group-id-table* 1313 flags) (sp-group-flag sp13)) + ((logtest? (-> group-precura-generator-explode flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 1313)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-precura-generator-explode) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 1313)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-precura-generator-explode) ) ) (when (type? (-> self root) collide-shape) @@ -897,13 +897,13 @@ :enter (behavior () (set-time! (-> self state-time)) (cond - ((logtest? (-> *part-group-id-table* 1313 flags) (sp-group-flag sp13)) + ((logtest? (-> group-precura-generator-explode flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 1313)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-precura-generator-explode) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 1313)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-precura-generator-explode) ) ) (when (type? (-> self root) collide-shape) @@ -1125,13 +1125,13 @@ :enter (behavior () (set-time! (-> self state-time)) (cond - ((logtest? (-> *part-group-id-table* 1313 flags) (sp-group-flag sp13)) + ((logtest? (-> group-precura-generator-explode flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 1313)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-precura-generator-explode) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 1313)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-precura-generator-explode) ) ) (sound-stop (-> self sound-id)) @@ -1396,13 +1396,13 @@ (logior! (-> self draw status) (draw-control-status no-draw)) (transform-post) (cond - ((logtest? (-> *part-group-id-table* 1318 flags) (sp-group-flag sp13)) + ((logtest? (-> group-gem-explosion flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 1318)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-gem-explosion) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 1318)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-gem-explosion) ) ) (sound-play "gem-explode") @@ -1446,7 +1446,7 @@ (set! (-> self sound-id) (new-sound-id)) (vector-copy! (-> self offset-vec) arg2) (set! (-> self ang-vel) arg1) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 1317) self)) + (set! (-> self part) (create-launch-control group-gem-d-smoke self)) (vector-copy! (-> self root trans) arg0) (vector-copy! (-> self init-pos) arg0) (initialize-skeleton @@ -1639,13 +1639,13 @@ :enter (behavior () (set-time! (-> self state-time)) (cond - ((logtest? (-> *part-group-id-table* 1313 flags) (sp-group-flag sp13)) + ((logtest? (-> group-precura-generator-explode flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 1313)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-precura-generator-explode) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 1313)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-precura-generator-explode) ) ) (sound-stop (-> self sound-id)) @@ -1696,26 +1696,26 @@ (rand-vu-sphere-point! gp-0 105472.0) (set! (-> gp-0 y) -20480.0) (cond - ((logtest? (-> *part-group-id-table* 1313 flags) (sp-group-flag sp13)) + ((logtest? (-> group-precura-generator-explode flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (vector+! gp-0 (-> self root trans) gp-0)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 1313)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-precura-generator-explode) ) (else (vector-copy! (-> *launch-matrix* trans) (vector+! gp-0 (-> self root trans) gp-0)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 1313)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-precura-generator-explode) ) ) (sound-play "gem-explode") (rand-vu-sphere-point! gp-0 105472.0) (set! (-> gp-0 y) -32768.0) (cond - ((logtest? (-> *part-group-id-table* 1313 flags) (sp-group-flag sp13)) + ((logtest? (-> group-precura-generator-explode flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (vector+! gp-0 (-> self root trans) gp-0)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 1313)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-precura-generator-explode) ) (else (vector-copy! (-> *launch-matrix* trans) (vector+! gp-0 (-> self root trans) gp-0)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 1313)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-precura-generator-explode) ) ) ) @@ -1738,26 +1738,26 @@ (rand-vu-sphere-point! gp-4 105472.0) (set! (-> gp-4 y) -61440.0) (cond - ((logtest? (-> *part-group-id-table* 1313 flags) (sp-group-flag sp13)) + ((logtest? (-> group-precura-generator-explode flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (vector+! gp-4 (-> self root trans) gp-4)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 1313)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-precura-generator-explode) ) (else (vector-copy! (-> *launch-matrix* trans) (vector+! gp-4 (-> self root trans) gp-4)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 1313)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-precura-generator-explode) ) ) (sound-play "gem-explode") (rand-vu-sphere-point! gp-4 105472.0) (set! (-> gp-4 y) -20480.0) (cond - ((logtest? (-> *part-group-id-table* 1313 flags) (sp-group-flag sp13)) + ((logtest? (-> group-precura-generator-explode flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (vector+! gp-4 (-> self root trans) gp-4)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 1313)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-precura-generator-explode) ) (else (vector-copy! (-> *launch-matrix* trans) (vector+! gp-4 (-> self root trans) gp-4)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 1313)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-precura-generator-explode) ) ) ) @@ -1769,26 +1769,26 @@ (rand-vu-sphere-point! gp-8 105472.0) (set! (-> gp-8 y) -61440.0) (cond - ((logtest? (-> *part-group-id-table* 1313 flags) (sp-group-flag sp13)) + ((logtest? (-> group-precura-generator-explode flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (vector+! gp-8 (-> self root trans) gp-8)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 1313)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-precura-generator-explode) ) (else (vector-copy! (-> *launch-matrix* trans) (vector+! gp-8 (-> self root trans) gp-8)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 1313)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-precura-generator-explode) ) ) (sound-play "gem-explode") (rand-vu-sphere-point! gp-8 105472.0) (set! (-> gp-8 y) -20480.0) (cond - ((logtest? (-> *part-group-id-table* 1313 flags) (sp-group-flag sp13)) + ((logtest? (-> group-precura-generator-explode flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (vector+! gp-8 (-> self root trans) gp-8)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 1313)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-precura-generator-explode) ) (else (vector-copy! (-> *launch-matrix* trans) (vector+! gp-8 (-> self root trans) gp-8)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 1313)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-precura-generator-explode) ) ) ) @@ -2092,7 +2092,7 @@ (the-as pair 0) ) (quaternion-copy! (-> this start-quat) (-> this root quat)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 1314) this)) + (set! (-> this part) (create-launch-control group-platform-effect this)) (let* ((s5-2 (-> this part)) (s4-2 (method-of-object s5-2 set-local-space-info)) (s3-1 (add-connection *part-local-space-engine* this local-space-proc-joint 4 0 0)) diff --git a/test/decompiler/reference/jak3/levels/sewer/flyingsaw_REF.gc b/test/decompiler/reference/jak3/levels/sewer/flyingsaw_REF.gc index 2000a9f9db..3ce35943fd 100644 --- a/test/decompiler/reference/jak3/levels/sewer/flyingsaw_REF.gc +++ b/test/decompiler/reference/jak3/levels/sewer/flyingsaw_REF.gc @@ -533,7 +533,7 @@ (quaternion-copy! (-> this base-quat) (-> this root quat)) (set-params! (-> this wobble-target) 30 60 0.25 0.0) (set-params! (-> this wobble) (the-as vector #f) 0.007 0.1 0.99) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 1500) this)) + (set! (-> this part) (create-launch-control group-flyingsaw-sparks this)) (set! (-> this fly-sound) (new-sound-id)) (set! (-> this fly-sound-playing) #f) (go (method-of-object this idle)) diff --git a/test/decompiler/reference/jak3/levels/sewer/kg-hopper_REF.gc b/test/decompiler/reference/jak3/levels/sewer/kg-hopper_REF.gc index afcc929b44..2e8cf47e0d 100644 --- a/test/decompiler/reference/jak3/levels/sewer/kg-hopper_REF.gc +++ b/test/decompiler/reference/jak3/levels/sewer/kg-hopper_REF.gc @@ -457,13 +457,13 @@ ) (let ((v1-8 (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node kg-hopper-lod0-jg chest)))) (cond - ((logtest? (-> *part-group-id-table* 221 flags) (sp-group-flag sp13)) + ((logtest? (-> group-kg-small-explosion flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) v1-8) - (part-tracker-spawn part-tracker-subsampler :to self :group (-> *part-group-id-table* 221)) + (part-tracker-spawn part-tracker-subsampler :to self :group group-kg-small-explosion) ) (else (vector-copy! (-> *launch-matrix* trans) v1-8) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 221)) + (part-tracker-spawn part-tracker :to self :group group-kg-small-explosion) ) ) ) @@ -544,13 +544,13 @@ (when (logtest? (water-flag touch-water) (-> s3-0 flags)) (set! (-> v1-10 y) (-> s3-0 trans y)) (cond - ((logtest? (-> *part-group-id-table* 192 flags) (sp-group-flag sp13)) + ((logtest? (-> group-part-water-splash flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) v1-10) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 192)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-part-water-splash) ) (else (vector-copy! (-> *launch-matrix* trans) v1-10) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 192)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-part-water-splash) ) ) (sound-play "splash-out") diff --git a/test/decompiler/reference/jak3/levels/sewer/mh-wasp_REF.gc b/test/decompiler/reference/jak3/levels/sewer/mh-wasp_REF.gc index 9d134fcb04..650b24a284 100644 --- a/test/decompiler/reference/jak3/levels/sewer/mh-wasp_REF.gc +++ b/test/decompiler/reference/jak3/levels/sewer/mh-wasp_REF.gc @@ -891,13 +891,13 @@ ) ) (cond - ((logtest? (-> *part-group-id-table* 1530 flags) (sp-group-flag sp13)) + ((logtest? (-> group-mh-wasp-explosion flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to self :group (-> *part-group-id-table* 1530)) + (part-tracker-spawn part-tracker-subsampler :to self :group group-mh-wasp-explosion) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 1530)) + (part-tracker-spawn part-tracker :to self :group group-mh-wasp-explosion) ) ) (while (-> self child) @@ -1410,8 +1410,8 @@ (set! (-> this path) (new 'process 'path-control this 'intro 0.0 (-> this entity) #f)) (set! (-> this path-u) 0.0) (logior! (-> this path flags) (path-control-flag display draw-line draw-point draw-text)) - (set! (-> this smoke-part) (create-launch-control (-> *part-group-id-table* 1527) this)) - (set! (-> this engine-part) (create-launch-control (-> *part-group-id-table* 1529) this)) + (set! (-> this smoke-part) (create-launch-control group-mh-wasp-gun-smoke this)) + (set! (-> this engine-part) (create-launch-control group-mh-wasp-engine this)) (add-connection *part-engine* this diff --git a/test/decompiler/reference/jak3/levels/sewer/needle-fish_REF.gc b/test/decompiler/reference/jak3/levels/sewer/needle-fish_REF.gc index ed6d30605f..5a64a174eb 100644 --- a/test/decompiler/reference/jak3/levels/sewer/needle-fish_REF.gc +++ b/test/decompiler/reference/jak3/levels/sewer/needle-fish_REF.gc @@ -710,7 +710,7 @@ (quaternion-identity! (-> gp-2 spawn-quat)) (set! (-> gp-2 radius) 20480.0) (set! (-> gp-2 scale) 1.0) - (set! (-> gp-2 group) (-> *part-group-id-table* 221)) + (set! (-> gp-2 group) group-kg-small-explosion) (set! (-> gp-2 collide-with) (collide-spec backgnd jak crate civilian enemy obstacle vehicle-sphere hit-by-others-list player-list pusher) ) diff --git a/test/decompiler/reference/jak3/levels/sewer/neo-grenadier_REF.gc b/test/decompiler/reference/jak3/levels/sewer/neo-grenadier_REF.gc index d3d0d8a392..c7173cba4e 100644 --- a/test/decompiler/reference/jak3/levels/sewer/neo-grenadier_REF.gc +++ b/test/decompiler/reference/jak3/levels/sewer/neo-grenadier_REF.gc @@ -1435,7 +1435,7 @@ (set! (-> this status-flags) (grenadier-status-flag)) (set! (-> this suppress-knockaside-timer) 0) (set-vector! (-> this root scale) 1.5 1.5 1.5 1.0) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 1523) this)) + (set! (-> this part) (create-launch-control group-neo-grenadier-drip this)) (set! (-> this hostile-path) (new 'process 'path-control this 'hostile 0.0 (-> this entity) #t)) (if (zero? (-> this hostile-path)) (set! (-> this hostile-path) #f) diff --git a/test/decompiler/reference/jak3/levels/sewer/neo-juicer_REF.gc b/test/decompiler/reference/jak3/levels/sewer/neo-juicer_REF.gc index d0b9ab2506..c221c5e0a8 100644 --- a/test/decompiler/reference/jak3/levels/sewer/neo-juicer_REF.gc +++ b/test/decompiler/reference/jak3/levels/sewer/neo-juicer_REF.gc @@ -221,13 +221,13 @@ (defmethod projectile-method-26 ((this neo-juicer-shot)) (projectile-method-25 this) (cond - ((logtest? (-> *part-group-id-table* 1524 flags) (sp-group-flag sp13)) + ((logtest? (-> group-neo-juicer-shot-hit flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> this root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 1524)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-neo-juicer-shot-hit) ) (else (vector-copy! (-> *launch-matrix* trans) (-> this root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 1524)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-neo-juicer-shot-hit) ) ) 0 diff --git a/test/decompiler/reference/jak3/levels/sewer/sew-laser-guard_REF.gc b/test/decompiler/reference/jak3/levels/sewer/sew-laser-guard_REF.gc index e62e02f85b..f4a670f642 100644 --- a/test/decompiler/reference/jak3/levels/sewer/sew-laser-guard_REF.gc +++ b/test/decompiler/reference/jak3/levels/sewer/sew-laser-guard_REF.gc @@ -744,7 +744,7 @@ (setup-enemy! this *sew-laser-guard-enemy-info*) (logclear! (-> this mask) (process-mask actor-pause)) (logclear! (-> this enemy-flags) (enemy-flag actor-pause-backup)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 1505) this)) + (set! (-> this part) (create-launch-control group-sew-laser-guard-hit this)) (let ((f30-0 (res-lump-float (-> this entity) 'rotoffset)) (f28-0 (res-lump-float (-> this entity) 'rotmax :default 8192.0)) (f26-0 (res-lump-float (-> this entity) 'rotmin :default -8192.0)) diff --git a/test/decompiler/reference/jak3/levels/sewer/sew-laser-turret_REF.gc b/test/decompiler/reference/jak3/levels/sewer/sew-laser-turret_REF.gc index 4bac6805db..c26c8204fa 100644 --- a/test/decompiler/reference/jak3/levels/sewer/sew-laser-turret_REF.gc +++ b/test/decompiler/reference/jak3/levels/sewer/sew-laser-turret_REF.gc @@ -1234,9 +1234,9 @@ (setup-enemy! this *sew-laser-turret-enemy-info*) (logclear! (-> this mask) (process-mask actor-pause)) (logclear! (-> this enemy-flags) (enemy-flag actor-pause-backup)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 1518) this)) - (set! (-> this smoke-part) (create-launch-control (-> *part-group-id-table* 1519) this)) - (set! (-> this casing-part) (create-launch-control (-> *part-group-id-table* 1520) this)) + (set! (-> this part) (create-launch-control group-sew-laser-turret-hit this)) + (set! (-> this smoke-part) (create-launch-control group-sew-laser-turret-smoke this)) + (set! (-> this casing-part) (create-launch-control group-sew-laser-turret-casing this)) (set! (-> this max-num-rings) (res-lump-value (-> this entity) 'sdt-num-rings int :default (the-as uint128 2) :time -1000000000.0) ) diff --git a/test/decompiler/reference/jak3/levels/sewer/sew-platforms_REF.gc b/test/decompiler/reference/jak3/levels/sewer/sew-platforms_REF.gc index ffa7003757..55e6c36897 100644 --- a/test/decompiler/reference/jak3/levels/sewer/sew-platforms_REF.gc +++ b/test/decompiler/reference/jak3/levels/sewer/sew-platforms_REF.gc @@ -237,7 +237,7 @@ ;; WARN: Return type mismatch sparticle-launch-control vs none. (defmethod base-plat-method-34 ((this sew-moving-step-a)) (call-parent-method this) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 1496) this)) + (set! (-> this part) (create-launch-control group-sew-moving-step-a-wake this)) (none) ) @@ -548,7 +548,7 @@ ) (sync-now! (-> self sync) (-> arg0 offset)) (set! (-> self last-t-val) -1.0) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 1497) self)) + (set! (-> self part) (create-launch-control group-sew-moving-step-b-wake self)) (go-virtual active) ) diff --git a/test/decompiler/reference/jak3/levels/sewer/sewer-move-turret_REF.gc b/test/decompiler/reference/jak3/levels/sewer/sewer-move-turret_REF.gc index ab163e8089..f5ba45eab7 100644 --- a/test/decompiler/reference/jak3/levels/sewer/sewer-move-turret_REF.gc +++ b/test/decompiler/reference/jak3/levels/sewer/sewer-move-turret_REF.gc @@ -464,23 +464,23 @@ ((-> this hit-actor?) (sound-play "bullet-hit-jak") (cond - ((logtest? (-> *part-group-id-table* 1506 flags) (sp-group-flag sp13)) + ((logtest? (-> group-sew-move-turret-hit-object flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) gp-0) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 1506)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-sew-move-turret-hit-object) ) (else (vector-copy! (-> *launch-matrix* trans) gp-0) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 1506)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-sew-move-turret-hit-object) ) ) ) - ((begin (sound-play "bullet-ricco") (logtest? (-> *part-group-id-table* 1507 flags) (sp-group-flag sp13))) + ((begin (sound-play "bullet-ricco") (logtest? (-> group-sew-move-turret-hit flags) (sp-group-flag sp13))) (vector-copy! (-> *launch-matrix* trans) gp-0) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 1507)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-sew-move-turret-hit) ) (else (vector-copy! (-> *launch-matrix* trans) gp-0) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 1507)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-sew-move-turret-hit) ) ) ) diff --git a/test/decompiler/reference/jak3/levels/sewer/sewer-obs_REF.gc b/test/decompiler/reference/jak3/levels/sewer/sewer-obs_REF.gc index 0ee81b1e12..5ee5bcbc18 100644 --- a/test/decompiler/reference/jak3/levels/sewer/sewer-obs_REF.gc +++ b/test/decompiler/reference/jak3/levels/sewer/sewer-obs_REF.gc @@ -1187,9 +1187,9 @@ (set! (-> a0-18 param1) this) (set! (-> a0-18 param2) (the-as basic 0)) ) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 1478) this)) - (set! (-> this hostile-part) (create-launch-control (-> *part-group-id-table* 1479) this)) - (set! (-> this gust-part) (create-launch-control (-> *part-group-id-table* 1501) this)) + (set! (-> this part) (create-launch-control group-sew-fan-lasersight this)) + (set! (-> this hostile-part) (create-launch-control group-sew-fan-lasersight-hostile this)) + (set! (-> this gust-part) (create-launch-control group-sew-fan-gust this)) (set! (-> this base-trans-y) (-> this root trans y)) (set! (-> this root trans y) (+ (-> this base-trans-y) (* 614.4 (sin (the float (* 30 (current-time))))))) (set! (-> this sound-fan-loop-id) (new-sound-id)) @@ -1945,7 +1945,7 @@ (set! (-> a1-3 percent) 0.0) (initialize! (-> this sync) a1-3) ) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 1473) this)) + (set! (-> this part) (create-launch-control group-sewer-green-steam this)) (go (method-of-object this idle)) ) @@ -2150,7 +2150,7 @@ (set! (-> v1-18 attack-id) a0-7) (set! (-> this attack-id) (the-as int a0-7)) ) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 1473) this)) + (set! (-> this part) (create-launch-control group-sewer-green-steam this)) (set! (-> this gas-time) (the-as time-frame (the int (* 300.0 (res-lump-float arg0 'delay :default 1.0))))) (let ((a1-7 (new 'stack-no-clear 'sync-info-params))) (let ((v1-25 0)) diff --git a/test/decompiler/reference/jak3/levels/sewer/sewer-part_REF.gc b/test/decompiler/reference/jak3/levels/sewer/sewer-part_REF.gc index bc87ddaa5a..37488c12e2 100644 --- a/test/decompiler/reference/jak3/levels/sewer/sewer-part_REF.gc +++ b/test/decompiler/reference/jak3/levels/sewer/sewer-part_REF.gc @@ -2028,7 +2028,7 @@ (defun spt-func-birth-on-bubble-pop ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 sparticle-launchinfo)) (when (zero? (-> arg1 timer)) (cond - ((logtest? (-> *part-group-id-table* 1503 flags) (sp-group-flag sp13)) + ((logtest? (-> group-sewer-rising-bubbles-pop flags) (sp-group-flag sp13)) (let ((v1-6 (-> *launch-matrix* trans)) (a0-1 (new 'stack-no-clear 'vector)) ) @@ -2038,7 +2038,7 @@ (set! (-> a0-1 w) 1.0) (vector-copy! v1-6 a0-1) ) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 1503)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-sewer-rising-bubbles-pop) ) (else (let ((v1-19 (-> *launch-matrix* trans)) @@ -2050,7 +2050,7 @@ (set! (-> a0-6 w) 1.0) (vector-copy! v1-19 a0-6) ) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 1503)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-sewer-rising-bubbles-pop) ) ) ) diff --git a/test/decompiler/reference/jak3/levels/stadium/dm-mine-spider_REF.gc b/test/decompiler/reference/jak3/levels/stadium/dm-mine-spider_REF.gc index aa5b41d620..6f68481e52 100644 --- a/test/decompiler/reference/jak3/levels/stadium/dm-mine-spider_REF.gc +++ b/test/decompiler/reference/jak3/levels/stadium/dm-mine-spider_REF.gc @@ -721,13 +721,13 @@ (('event-explode) (sound-play "mnspider-blow") (cond - ((logtest? (-> *part-group-id-table* 1029 flags) (sp-group-flag sp13)) + ((logtest? (-> group-dm-mine-spider-explode flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> this root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 1029)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-dm-mine-spider-explode) ) (else (vector-copy! (-> *launch-matrix* trans) (-> this root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 1029)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-dm-mine-spider-explode) ) ) (go (method-of-object this die-fast)) @@ -931,13 +931,13 @@ ) (sound-play "mnspider-blow") (cond - ((logtest? (-> *part-group-id-table* 1029 flags) (sp-group-flag sp13)) + ((logtest? (-> group-dm-mine-spider-explode flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 1029)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-dm-mine-spider-explode) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 1029)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-dm-mine-spider-explode) ) ) (suspend) @@ -1431,13 +1431,13 @@ ) (when (< (-> self hit-points) 0) (cond - ((logtest? (-> *part-group-id-table* 1029 flags) (sp-group-flag sp13)) + ((logtest? (-> group-dm-mine-spider-explode flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 1029)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-dm-mine-spider-explode) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 1029)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-dm-mine-spider-explode) ) ) (go-virtual die) diff --git a/test/decompiler/reference/jak3/levels/stadium/rubble-attack_REF.gc b/test/decompiler/reference/jak3/levels/stadium/rubble-attack_REF.gc index 7639eda9bf..52e2582af1 100644 --- a/test/decompiler/reference/jak3/levels/stadium/rubble-attack_REF.gc +++ b/test/decompiler/reference/jak3/levels/stadium/rubble-attack_REF.gc @@ -47,18 +47,18 @@ ;; WARN: Return type mismatch int vs none. (defmethod projectile-method-26 ((this rub-missile)) (cond - ((logtest? (-> *part-group-id-table* 1021 flags) (sp-group-flag sp13)) + ((logtest? (-> group-rub-missile-explode flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> this root trans)) (part-tracker-spawn part-tracker-subsampler :to this - :group (-> *part-group-id-table* 1021) + :group group-rub-missile-explode :duration (seconds 0.167) ) ) (else (vector-copy! (-> *launch-matrix* trans) (-> this root trans)) - (part-tracker-spawn part-tracker :to this :group (-> *part-group-id-table* 1021) :duration (seconds 0.167)) + (part-tracker-spawn part-tracker :to this :group group-rub-missile-explode :duration (seconds 0.167)) ) ) 0 @@ -104,7 +104,7 @@ (let ((f0-5 1092.2667)) (quaternion-axis-angle! (-> this tumble-quat) 1.0 0.0 0.0 f0-5) ) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 1020) this)) + (set! (-> this part) (create-launch-control group-rub-missile this)) (set! (-> this sound-id) (new-sound-id)) (none) ) diff --git a/test/decompiler/reference/jak3/levels/stadium/rubble-obs_REF.gc b/test/decompiler/reference/jak3/levels/stadium/rubble-obs_REF.gc index fff04659e8..a4a51e203d 100644 --- a/test/decompiler/reference/jak3/levels/stadium/rubble-obs_REF.gc +++ b/test/decompiler/reference/jak3/levels/stadium/rubble-obs_REF.gc @@ -100,13 +100,13 @@ (activate! *camera-smush-control* 2048.0 30 150 1.0 0.8 (-> *display* camera-clock)) (sound-play "rub-fall-impact") (cond - ((logtest? (-> *part-group-id-table* 1026 flags) (sp-group-flag sp13)) + ((logtest? (-> group-rubble-tower-break flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self node-list data 11 bone transform trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 1026)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-rubble-tower-break) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self node-list data 11 bone transform trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 1026)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-rubble-tower-break) ) ) ) @@ -352,13 +352,13 @@ (sound-play "ruins-gate-towr") (spawn-joint-exploder self) (cond - ((logtest? (-> *part-group-id-table* 1024 flags) (sp-group-flag sp13)) + ((logtest? (-> group-rubble-switch-explode flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 1024)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-rubble-switch-explode) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 1024)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-rubble-switch-explode) ) ) (update-draw-mask self) @@ -500,8 +500,8 @@ ) (the-as pair 0) ) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 1023) this)) - (set! (-> this part-sparks) (create-launch-control (-> *part-group-id-table* 1025) this)) + (set! (-> this part) (create-launch-control group-rubble-switch-glow this)) + (set! (-> this part-sparks) (create-launch-control group-rubble-switch-sparks this)) (cond ((logtest? (-> this entity extra perm status) (entity-perm-status subtask-complete)) (update-draw-mask this) @@ -602,13 +602,13 @@ :position (-> (the-as process-drawable v1-3) root trans) ) (cond - ((logtest? (-> *part-group-id-table* 1027 flags) (sp-group-flag sp13)) + ((logtest? (-> group-elec-gate-sparks flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> (the-as rigid-body-impact gp-1) point)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 1027)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-elec-gate-sparks) ) (else (vector-copy! (-> *launch-matrix* trans) (-> (the-as rigid-body-impact gp-1) point)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 1027)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-elec-gate-sparks) ) ) ) @@ -847,7 +847,7 @@ (if (-> this active?) (toggle-blocking-plane this #t) ) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 1022) this)) + (set! (-> this part) (create-launch-control group-rub-elec-gate this)) (set! (-> this sound) (new 'process 'ambient-sound "ruins-gate-hum" (-> this root trans) 0.0)) (set! (-> this hit-sound-id) (new-sound-id)) (set! (-> this entity) arg0) diff --git a/test/decompiler/reference/jak3/levels/stadium/stadium-obs_REF.gc b/test/decompiler/reference/jak3/levels/stadium/stadium-obs_REF.gc index 6d7ce046d0..07b7095e92 100644 --- a/test/decompiler/reference/jak3/levels/stadium/stadium-obs_REF.gc +++ b/test/decompiler/reference/jak3/levels/stadium/stadium-obs_REF.gc @@ -225,13 +225,13 @@ 0 (sound-play "door-blow") (cond - ((logtest? (-> *part-group-id-table* 1001 flags) (sp-group-flag sp13)) + ((logtest? (-> group-rubble-break-door-bust flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self node-list data 3 bone transform trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 1001)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-rubble-break-door-bust) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self node-list data 3 bone transform trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 1001)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-rubble-break-door-bust) ) ) (ja-no-eval :group! rub-dark-jak-door-break-ja :num! (seek!) :frame-num 0.0) @@ -291,7 +291,7 @@ (the-as pair 0) ) (set! (-> this played-hint?) #f) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 1002) this)) + (set! (-> this part) (create-launch-control group-rub-dark-jak-door this)) (set! (-> this block?) (and (string= (-> this name) "rub-dark-jak-door-2") (task-node-closed? (game-task-node desert-final-boss-resolution)) ) @@ -614,7 +614,7 @@ (the-as skeleton-group (art-group-get-by-name *level* "skel-rub-falling-step" (the-as (pointer level) #f))) (the-as pair 0) ) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 150) this)) + (set! (-> this part) (create-launch-control group-placeholder-single this)) (quaternion->matrix (-> this mat) (-> this root quat)) (vector-copy! (-> this mat trans) (-> this root trans)) (go (method-of-object this idle)) @@ -733,17 +733,17 @@ :code (behavior () (process-entity-status! self (entity-perm-status subtask-complete) #t) (do-explode self) - (if (logtest? (-> *part-group-id-table* 1003 flags) (sp-group-flag sp13)) + (if (logtest? (-> group-rhino-door-break flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 1003) + :group group-rhino-door-break :mat-joint (-> self node-list data 3 bone transform) ) (part-tracker-spawn part-tracker :to *entity-pool* - :group (-> *part-group-id-table* 1003) + :group group-rhino-door-break :mat-joint (-> self node-list data 3 bone transform) ) ) @@ -987,6 +987,6 @@ (set! (-> this root) (new 'process 'trsqv)) (process-drawable-from-entity! this arg0) (logclear! (-> this mask) (process-mask actor-pause)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 1004) this)) + (set! (-> this part) (create-launch-control group-mh-tower-smoke-stda this)) (go (method-of-object this idle)) ) diff --git a/test/decompiler/reference/jak3/levels/temple/hover-training_REF.gc b/test/decompiler/reference/jak3/levels/temple/hover-training_REF.gc index 002c81bae9..c51f5af155 100644 --- a/test/decompiler/reference/jak3/levels/temple/hover-training_REF.gc +++ b/test/decompiler/reference/jak3/levels/temple/hover-training_REF.gc @@ -662,8 +662,8 @@ ) (process-drawable-from-entity! this arg0) (logclear! (-> this mask) (process-mask actor-pause)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 686) this)) - (set! (-> this part-trail) (create-launch-control (-> *part-group-id-table* 685) this)) + (set! (-> this part) (create-launch-control group-tpl-token this)) + (set! (-> this part-trail) (create-launch-control group-tpl-token-trail this)) pp (set! (-> this part-subsampler) (new 'process 'sparticle-subsampler *sp-particle-system-2d* (-> *part-id-table* 2645) 3.0) @@ -1323,8 +1323,8 @@ (the-as skeleton-group (art-group-get-by-name *level* "skel-tpl-symbol" (the-as (pointer level) #f))) (the-as pair 0) ) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 688) this)) - (set! (-> this part-touched) (create-launch-control (-> *part-group-id-table* 689) this)) + (set! (-> this part) (create-launch-control group-tpl-symbol this)) + (set! (-> this part-touched) (create-launch-control group-tpl-symbol-touched this)) (logclear! (-> this mask) (process-mask actor-pause)) (go (method-of-object this idle)) ) diff --git a/test/decompiler/reference/jak3/levels/temple/temple-obs2_REF.gc b/test/decompiler/reference/jak3/levels/temple/temple-obs2_REF.gc index cee6dd0070..9c617b66b0 100644 --- a/test/decompiler/reference/jak3/levels/temple/temple-obs2_REF.gc +++ b/test/decompiler/reference/jak3/levels/temple/temple-obs2_REF.gc @@ -1008,13 +1008,13 @@ ) :code (behavior () (cond - ((logtest? (-> *part-group-id-table* 672 flags) (sp-group-flag sp13)) + ((logtest? (-> group-tpl-watcher-explosion flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 672)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-tpl-watcher-explosion) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 672)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-tpl-watcher-explosion) ) ) (let ((v1-33 (-> self root root-prim))) @@ -1192,10 +1192,10 @@ (set! (-> this bob-clock) (rand-vu-int-range 0 (seconds 19))) (set! (-> this period-a) (rand-vu-int-range 1200 3900)) (set! (-> this period-b) (rand-vu-int-range 2700 5700)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 669) this)) - (set! (-> this laser-sight) (create-launch-control (-> *part-group-id-table* 670) this)) + (set! (-> this part) (create-launch-control group-tpl-watcher-exhaust-distort this)) + (set! (-> this laser-sight) (create-launch-control group-tpl-watcher-laser-glow this)) (init-los! (-> this los) this (seconds 0.1) 327680.0 (collide-spec backgnd)) - (set! (-> this laser-charge-fx) (create-launch-control (-> *part-group-id-table* 671) this)) + (set! (-> this laser-charge-fx) (create-launch-control group-tpl-watcher-laser-charge this)) (let* ((s5-1 (-> this laser-charge-fx)) (s4-1 (method-of-object s5-1 set-local-space-info)) (s3-1 (add-connection *part-local-space-engine* this local-space-proc-joint 4 0 0)) @@ -1970,8 +1970,8 @@ (the-as skeleton-group (art-group-get-by-name *level* "skel-tpl-oracle-eye" (the-as (pointer level) #f))) (the-as pair 0) ) - (set! (-> this leye-sparta) (create-launch-control (-> *part-group-id-table* 682) this)) - (set! (-> this reye-sparta) (create-launch-control (-> *part-group-id-table* 682) this)) + (set! (-> this leye-sparta) (create-launch-control group-temple-oracle-eye-glow this)) + (set! (-> this reye-sparta) (create-launch-control group-temple-oracle-eye-glow this)) (go (method-of-object this open)) ) diff --git a/test/decompiler/reference/jak3/levels/temple/temple-obs_REF.gc b/test/decompiler/reference/jak3/levels/temple/temple-obs_REF.gc index e878118cb0..fba0dbd0e4 100644 --- a/test/decompiler/reference/jak3/levels/temple/temple-obs_REF.gc +++ b/test/decompiler/reference/jak3/levels/temple/temple-obs_REF.gc @@ -1201,26 +1201,25 @@ (vector-copy! (-> this init-trans) (-> this root trans)) (init (-> this eyeball-jmod) this (the-as uint 4) (joint-mod-base-flags attached scale)) (init (-> this other-eyeball-jmod) this (the-as uint 9) (joint-mod-base-flags attached trans quat scale)) - (set! (-> this perm-part) - (ppointer->handle (if (logtest? (-> *part-group-id-table* 677 flags) (sp-group-flag sp13)) - (part-tracker-spawn - part-tracker-subsampler - :to this - :group (-> *part-group-id-table* 677) - :duration -1 - :target this - :mat-joint (the-as object 0) - ) - (part-tracker-spawn - part-tracker - :to this - :group (-> *part-group-id-table* 677) - :duration -1 - :target this - :mat-joint (the-as object 0) - ) - ) - ) + (set! (-> this perm-part) (ppointer->handle (if (logtest? (-> group-holo-halo flags) (sp-group-flag sp13)) + (part-tracker-spawn + part-tracker-subsampler + :to this + :group group-holo-halo + :duration -1 + :target this + :mat-joint (the-as object 0) + ) + (part-tracker-spawn + part-tracker + :to this + :group group-holo-halo + :duration -1 + :target this + :mat-joint (the-as object 0) + ) + ) + ) ) (set! (-> this idle-clock) 0) (set! (-> this triggered?) #f) @@ -2496,8 +2495,8 @@ (set! (-> this draw light-index) (the-as uint 10)) (set! (-> this alt-actor) (entity-actor-lookup arg0 'alt-actor 0)) (set! (-> this extra-id) (res-lump-value (-> this entity) 'extra-id uint :time -1000000000.0)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 675) this)) - (set! (-> this part-explode) (create-launch-control (-> *part-group-id-table* 676) this)) + (set! (-> this part) (create-launch-control group-tpl-break-alcove this)) + (set! (-> this part-explode) (create-launch-control group-tpl-break-alcove-explode this)) (let ((s5-1 (res-lump-struct (-> this entity) 'on-activate structure))) (if (and s5-1 (not (script-eval (the-as pair s5-1)))) (go (method-of-object this die-fast)) @@ -2684,8 +2683,8 @@ (logclear! (-> this mask) (process-mask actor-pause)) (set! (-> this alt-actor) (entity-actor-lookup arg0 'alt-actor 0)) (set! (-> this extra-id) (res-lump-value (-> this entity) 'extra-id uint :time -1000000000.0)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 673) this)) - (set! (-> this part-explode) (create-launch-control (-> *part-group-id-table* 674) this)) + (set! (-> this part) (create-launch-control group-tpl-break-door-a this)) + (set! (-> this part-explode) (create-launch-control group-tpl-break-door-explode this)) (let ((s5-1 (res-lump-struct (-> this entity) 'on-activate structure))) (if (and s5-1 (not (script-eval (the-as pair s5-1)))) (go (method-of-object this die-fast)) diff --git a/test/decompiler/reference/jak3/levels/temple/templed-obs_REF.gc b/test/decompiler/reference/jak3/levels/temple/templed-obs_REF.gc index 75a3e22fba..3d91f0cdc6 100644 --- a/test/decompiler/reference/jak3/levels/temple/templed-obs_REF.gc +++ b/test/decompiler/reference/jak3/levels/temple/templed-obs_REF.gc @@ -732,13 +732,13 @@ (set! sv-24 arg0) (set! sv-32 (-> this node-list data (tpl-bbridge-panel arg0) bone transform trans)) (cond - ((logtest? (-> *part-group-id-table* 701 flags) (sp-group-flag sp13)) + ((logtest? (-> group-temple-bridge-break-kaboom flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) sv-32) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 701)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-temple-bridge-break-kaboom) ) (else (vector-copy! (-> *launch-matrix* trans) sv-32) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 701)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-temple-bridge-break-kaboom) ) ) (set-vector! (-> sv-16 panel-jmods sv-24 transform scale) 0.0 0.0 0.0 1.0) @@ -775,12 +775,12 @@ (when (not (-> this had-particle-spawned arg0)) (let ((v1-24 (-> this node-list data (tpl-bbridge-panel arg0) bone transform trans))) (cond - ((logtest? (-> *part-group-id-table* 700 flags) (sp-group-flag sp13)) + ((logtest? (-> group-temple-bridge-break-dust flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) v1-24) (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 700) + :group group-temple-bridge-break-dust :duration (seconds 0.1) ) ) @@ -789,7 +789,7 @@ (part-tracker-spawn part-tracker :to *entity-pool* - :group (-> *part-group-id-table* 700) + :group group-temple-bridge-break-dust :duration (seconds 0.1) ) ) @@ -835,13 +835,13 @@ (when (not (-> this had-particle-spawned arg0)) (let ((v1-81 (-> this node-list data (tpl-bbridge-panel arg0) bone transform trans))) (cond - ((logtest? (-> *part-group-id-table* 700 flags) (sp-group-flag sp13)) + ((logtest? (-> group-temple-bridge-break-dust flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) v1-81) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 700)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-temple-bridge-break-dust) ) (else (vector-copy! (-> *launch-matrix* trans) v1-81) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 700)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-temple-bridge-break-dust) ) ) ) diff --git a/test/decompiler/reference/jak3/levels/tower/tower-obs_REF.gc b/test/decompiler/reference/jak3/levels/tower/tower-obs_REF.gc index e0cbbf3e9c..21209eb23f 100644 --- a/test/decompiler/reference/jak3/levels/tower/tower-obs_REF.gc +++ b/test/decompiler/reference/jak3/levels/tower/tower-obs_REF.gc @@ -661,7 +661,7 @@ (the-as skeleton-group (art-group-get-by-name *level* "skel-tow-energy-bridge" (the-as (pointer level) #f))) (the-as pair 0) ) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 1438) this)) + (set! (-> this part) (create-launch-control group-tow-energy-bridge this)) (if (logtest? (-> this entity extra perm status) (entity-perm-status subtask-complete)) (go (method-of-object this active)) (go (method-of-object this idle)) @@ -787,11 +787,11 @@ (suspend) (ja :num! (seek!)) ) - (if (logtest? (-> *part-group-id-table* 1436 flags) (sp-group-flag sp13)) + (if (logtest? (-> group-tow-spawner-spawn flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 1436) + :group group-tow-spawner-spawn :duration (seconds 2) :target self :mat-joint 5 @@ -799,7 +799,7 @@ (part-tracker-spawn part-tracker :to *entity-pool* - :group (-> *part-group-id-table* 1436) + :group group-tow-spawner-spawn :duration (seconds 2) :target self :mat-joint 5 @@ -941,7 +941,7 @@ (the-as skeleton-group (art-group-get-by-name *level* "skel-tow-spawner" (the-as (pointer level) #f))) (the-as pair 0) ) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 1437) this)) + (set! (-> this part) (create-launch-control group-tow-spawner-dead this)) (set! (-> this nav-mesh) (nav-mesh-from-res-tag (-> this entity) 'nav-mesh-actor 0)) (if (not (-> this nav-mesh)) (go process-drawable-art-error "no nav-mesh") diff --git a/test/decompiler/reference/jak3/levels/volcano/volcano-obs2_REF.gc b/test/decompiler/reference/jak3/levels/volcano/volcano-obs2_REF.gc index 1ae4a5b071..80851fd9bc 100644 --- a/test/decompiler/reference/jak3/levels/volcano/volcano-obs2_REF.gc +++ b/test/decompiler/reference/jak3/levels/volcano/volcano-obs2_REF.gc @@ -638,7 +638,7 @@ (the-as skeleton-group (art-group-get-by-name *level* "skel-vol-break-ground" (the-as (pointer level) #f))) (the-as pair 0) ) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 1398) this)) + (set! (-> this part) (create-launch-control group-vol-break-ground this)) (go (method-of-object this idle)) ) diff --git a/test/decompiler/reference/jak3/levels/volcano/volcano-obs_REF.gc b/test/decompiler/reference/jak3/levels/volcano/volcano-obs_REF.gc index a64966207f..99a2587004 100644 --- a/test/decompiler/reference/jak3/levels/volcano/volcano-obs_REF.gc +++ b/test/decompiler/reference/jak3/levels/volcano/volcano-obs_REF.gc @@ -630,7 +630,7 @@ (set! (-> this attack-id) a0-50) ) (set! (-> this sound-id) (new-sound-id)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 1388) this)) + (set! (-> this part) (create-launch-control group-lava-shoot this)) (update-transforms (-> this root)) (go (method-of-object this idle)) ) @@ -1326,7 +1326,7 @@ (set! (-> v1-12 attack-id) a0-10) (set! (-> this attack-id) a0-10) ) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 1394) this)) + (set! (-> this part) (create-launch-control group-steam-geyser-shoot this)) (set! (-> this lid-y) 4096000.0) (set! (-> this extra-id) (res-lump-value (-> this entity) 'extra-id int :time -1000000000.0)) (set! (-> this notify-actor) (entity-actor-lookup arg0 'alt-actor 0)) @@ -1740,7 +1740,7 @@ (set! (-> self attack-id) a0-15) ) (set! (-> self no-collision-timer) 0) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 1397) self)) + (set! (-> self part) (create-launch-control group-vol-lava-ball self)) (go-virtual idle) ) @@ -1901,7 +1901,7 @@ (initialize! (-> this sync) a1-3) ) (set! (-> this ball-height) (res-lump-float (-> this entity) 'y-offset :default 81920.0)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 1395) this)) + (set! (-> this part) (create-launch-control group-lava-ball-spout this)) (set! (-> this ball) (the-as handle #f)) (set! (-> this sound-id) (new-sound-id)) (go (method-of-object this idle)) diff --git a/test/decompiler/reference/jak3/levels/volcano/volcano-part_REF.gc b/test/decompiler/reference/jak3/levels/volcano/volcano-part_REF.gc index d432d4e81e..ae45dd55cf 100644 --- a/test/decompiler/reference/jak3/levels/volcano/volcano-part_REF.gc +++ b/test/decompiler/reference/jak3/levels/volcano/volcano-part_REF.gc @@ -245,7 +245,7 @@ (defun spt-func-birth-on-pop ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 sparticle-launchinfo)) (when (zero? (-> arg1 timer)) (cond - ((logtest? (-> *part-group-id-table* 1391 flags) (sp-group-flag sp13)) + ((logtest? (-> group-volcano-lava-splash flags) (sp-group-flag sp13)) (let ((v1-6 (-> *launch-matrix* trans)) (a0-1 (new 'stack-no-clear 'vector)) ) @@ -255,7 +255,7 @@ (set! (-> a0-1 w) 1.0) (vector-copy! v1-6 a0-1) ) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 1391)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-volcano-lava-splash) ) (else (let ((v1-19 (-> *launch-matrix* trans)) @@ -267,7 +267,7 @@ (set! (-> a0-6 w) 1.0) (vector-copy! v1-19 a0-6) ) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 1391)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-volcano-lava-splash) ) ) ) diff --git a/test/decompiler/reference/jak3/levels/volcano/volcanox-obs_REF.gc b/test/decompiler/reference/jak3/levels/volcano/volcanox-obs_REF.gc index 1d8fdf0b8b..8bf4ff42c2 100644 --- a/test/decompiler/reference/jak3/levels/volcano/volcanox-obs_REF.gc +++ b/test/decompiler/reference/jak3/levels/volcano/volcanox-obs_REF.gc @@ -495,11 +495,11 @@ (init (-> this eyeball-jmod) this (the-as uint 4) (joint-mod-base-flags attached scale)) (init (-> this other-eyeball-jmod) this (the-as uint 9) (joint-mod-base-flags attached trans quat scale)) (set! (-> this perm-part) - (ppointer->handle (if (logtest? (-> *part-group-id-table* 1407 flags) (sp-group-flag sp13)) + (ppointer->handle (if (logtest? (-> group-vol-holo-halo flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to this - :group (-> *part-group-id-table* 1407) + :group group-vol-holo-halo :duration -1 :target this :mat-joint (the-as object 0) @@ -507,7 +507,7 @@ (part-tracker-spawn part-tracker :to this - :group (-> *part-group-id-table* 1407) + :group group-vol-holo-halo :duration -1 :target this :mat-joint (the-as object 0) diff --git a/test/decompiler/reference/jak3/levels/wascity/bbush/des-bush-time-chase_REF.gc b/test/decompiler/reference/jak3/levels/wascity/bbush/des-bush-time-chase_REF.gc index d744c35807..f2d1296f6f 100644 --- a/test/decompiler/reference/jak3/levels/wascity/bbush/des-bush-time-chase_REF.gc +++ b/test/decompiler/reference/jak3/levels/wascity/bbush/des-bush-time-chase_REF.gc @@ -500,8 +500,8 @@ (defbehavior trail-effect-init-by-other trail-effect ((arg0 vector)) (set! (-> self root) (new 'process 'trsqv)) (vector-copy! (-> self root trans) arg0) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 1534) self)) - (set! (-> self goal-part) (create-launch-control (-> *part-group-id-table* 1532) self)) + (set! (-> self part) (create-launch-control group-bb-finder self)) + (set! (-> self goal-part) (create-launch-control group-trail-goal self)) (let ((gp-1 (new 'stack-no-clear 'light-trail-tracker-spawn-params))) (set! (-> gp-1 tracked-obj) (process->handle self)) (set! (-> gp-1 appearance) *bb-timer-chase-trail*) @@ -621,13 +621,13 @@ :virtual #t :enter (behavior () (cond - ((logtest? (-> *part-group-id-table* 1531 flags) (sp-group-flag sp13)) + ((logtest? (-> group-goal-explode flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to self :group (-> *part-group-id-table* 1531)) + (part-tracker-spawn part-tracker-subsampler :to self :group group-goal-explode) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 1531)) + (part-tracker-spawn part-tracker :to self :group group-goal-explode) ) ) ) @@ -662,7 +662,7 @@ (set! (-> self root) (new 'process 'trsqv)) (process-drawable-from-entity! self arg0) (logclear! (-> self mask) (process-mask actor-pause)) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 1536) self)) + (set! (-> self part) (create-launch-control group-bb-goal self)) (set! (-> self activate-radius) arg1) (go-virtual idle) ) @@ -1448,7 +1448,7 @@ (set! (-> self activate-radius) arg2) (set! (-> self freeze-time) arg3) (set! (-> self freeze-pickup-radius) arg4) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 1539) self)) + (set! (-> self part) (create-launch-control group-bb-freeze self)) (go-virtual dormant) ) @@ -1481,7 +1481,7 @@ (set! (-> self activate-radius) arg2) (set! (-> self freeze-time) arg3) (set! (-> self freeze-pickup-radius) arg4) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 1538) self)) + (set! (-> self part) (create-launch-control group-bb-freeze-2 self)) (go-virtual dormant) ) @@ -1514,7 +1514,7 @@ (set! (-> self activate-radius) arg2) (set! (-> self freeze-time) arg3) (set! (-> self freeze-pickup-radius) arg4) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 1537) self)) + (set! (-> self part) (create-launch-control group-bb-freeze-3 self)) (go-virtual dormant) ) diff --git a/test/decompiler/reference/jak3/levels/wascity/chase/kanga-lizard_REF.gc b/test/decompiler/reference/jak3/levels/wascity/chase/kanga-lizard_REF.gc index a0035e3af5..935409cbae 100644 --- a/test/decompiler/reference/jak3/levels/wascity/chase/kanga-lizard_REF.gc +++ b/test/decompiler/reference/jak3/levels/wascity/chase/kanga-lizard_REF.gc @@ -1180,7 +1180,7 @@ 0 (set-gravity-length (-> this root dynam) 573440.0) (set! (-> this root pause-adjust-distance) 204800.0) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 524) this)) + (set! (-> this part) (create-launch-control group-kanga-lizard-dust this)) (set! (-> this last-focus-ping) 0) (set! (-> this minimap) (add-icon! *minimap* this (the-as uint 129) (the-as int #f) (the-as vector #t) 0)) 0 diff --git a/test/decompiler/reference/jak3/levels/wascity/ctymark-obs_REF.gc b/test/decompiler/reference/jak3/levels/wascity/ctymark-obs_REF.gc index 2e17d2bafe..388152778f 100644 --- a/test/decompiler/reference/jak3/levels/wascity/ctymark-obs_REF.gc +++ b/test/decompiler/reference/jak3/levels/wascity/ctymark-obs_REF.gc @@ -1028,7 +1028,7 @@ (the-as skeleton-group (art-group-get-by-name *level* "skel-market-basket-a" (the-as (pointer level) #f))) (the-as pair 0) ) - (set! (-> this part-explode) (-> *part-group-id-table* 249)) + (set! (-> this part-explode) group-mbasket-a-explode) (set! (-> this sound-explode) (static-sound-spec "break-vase" :group 0)) (call-parent-method this) (none) @@ -1048,7 +1048,7 @@ (the-as skeleton-group (art-group-get-by-name *level* "skel-market-basket-b" (the-as (pointer level) #f))) (the-as pair 0) ) - (set! (-> this part-explode) (-> *part-group-id-table* 250)) + (set! (-> this part-explode) group-mbasket-b-explode) (set! (-> this sound-explode) (static-sound-spec "break-flour" :group 0)) (call-parent-method this) (none) @@ -1068,7 +1068,7 @@ (the-as skeleton-group (art-group-get-by-name *level* "skel-market-crate" (the-as (pointer level) #f))) (the-as pair 0) ) - (set! (-> this part-explode) (-> *part-group-id-table* 248)) + (set! (-> this part-explode) group-mcrate-explode) (set! (-> this sound-explode) (static-sound-spec "break-crate" :group 0)) (call-parent-method this) (none) @@ -1088,7 +1088,7 @@ (the-as skeleton-group (art-group-get-by-name *level* "skel-market-sack-a" (the-as (pointer level) #f))) (the-as pair 0) ) - (set! (-> this part-explode) (-> *part-group-id-table* 251)) + (set! (-> this part-explode) group-msack-a-explode) (set! (-> this sound-explode) (static-sound-spec "break-crate" :group 0)) (call-parent-method this) (none) @@ -1108,7 +1108,7 @@ (the-as skeleton-group (art-group-get-by-name *level* "skel-market-sack-b" (the-as (pointer level) #f))) (the-as pair 0) ) - (set! (-> this part-explode) (-> *part-group-id-table* 252)) + (set! (-> this part-explode) group-msack-b-explode) (set! (-> this sound-explode) (static-sound-spec "break-veg-straw" :group 0)) (call-parent-method this) (none) @@ -1514,7 +1514,7 @@ ) ) (when (not (-> self parts-alive?)) - (initialize (-> self part) (-> *part-group-id-table* 253) self) + (initialize (-> self part) group-ctywide-fruit self) (set! (-> self parts-alive?) #t) ) (spawn-from-cspace (-> self part) (-> self node-list data 0)) @@ -1564,7 +1564,7 @@ ;; WARN: Return type mismatch int vs none. (defmethod fruit-stand-method-30 ((this fruit-stand)) (logior! (-> this mask) (process-mask crate)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 253) this)) + (set! (-> this part) (create-launch-control group-ctywide-fruit this)) (set! (-> this parts-alive?) #t) 0 (none) diff --git a/test/decompiler/reference/jak3/levels/wascity/defend/was-pre-game_REF.gc b/test/decompiler/reference/jak3/levels/wascity/defend/was-pre-game_REF.gc index fb92f84598..ae0995bb9c 100644 --- a/test/decompiler/reference/jak3/levels/wascity/defend/was-pre-game_REF.gc +++ b/test/decompiler/reference/jak3/levels/wascity/defend/was-pre-game_REF.gc @@ -1920,16 +1920,16 @@ (cond ((logtest? (-> (cond ((zero? v1-0) - (-> *part-group-id-table* 510) + group-pre-bubble-birth-triangle ) ((= v1-0 1) - (-> *part-group-id-table* 511) + group-pre-bubble-birth-circle ) ((= v1-0 2) - (-> *part-group-id-table* 513) + group-pre-bubble-birth-x ) (else - (-> *part-group-id-table* 512) + group-pre-bubble-birth-square ) ) flags @@ -1954,16 +1954,16 @@ (let ((v1-13 (-> self bubble-type))) (set! (-> *part-tracker-subsampler-params-default* group) (cond ((zero? v1-13) - (-> *part-group-id-table* 510) + group-pre-bubble-birth-triangle ) ((= v1-13 1) - (-> *part-group-id-table* 511) + group-pre-bubble-birth-circle ) ((= v1-13 2) - (-> *part-group-id-table* 513) + group-pre-bubble-birth-x ) (else - (-> *part-group-id-table* 512) + group-pre-bubble-birth-square ) ) ) @@ -1994,16 +1994,16 @@ (let ((v1-32 (-> self bubble-type))) (set! (-> *part-tracker-params-default* group) (cond ((zero? v1-32) - (-> *part-group-id-table* 510) + group-pre-bubble-birth-triangle ) ((= v1-32 1) - (-> *part-group-id-table* 511) + group-pre-bubble-birth-circle ) ((= v1-32 2) - (-> *part-group-id-table* 513) + group-pre-bubble-birth-x ) (else - (-> *part-group-id-table* 512) + group-pre-bubble-birth-square ) ) ) @@ -2066,16 +2066,16 @@ (cond ((logtest? (-> (cond ((zero? v1-21) - (-> *part-group-id-table* 506) + group-pre-bubble-pop-triangle ) ((= v1-21 1) - (-> *part-group-id-table* 507) + group-pre-bubble-pop-circle ) ((= v1-21 2) - (-> *part-group-id-table* 509) + group-pre-bubble-pop-x ) (else - (-> *part-group-id-table* 508) + group-pre-bubble-pop-square ) ) flags @@ -2100,16 +2100,16 @@ (let ((v1-34 (-> self bubble-type))) (set! (-> *part-tracker-subsampler-params-default* group) (cond ((zero? v1-34) - (-> *part-group-id-table* 506) + group-pre-bubble-pop-triangle ) ((= v1-34 1) - (-> *part-group-id-table* 507) + group-pre-bubble-pop-circle ) ((= v1-34 2) - (-> *part-group-id-table* 509) + group-pre-bubble-pop-x ) (else - (-> *part-group-id-table* 508) + group-pre-bubble-pop-square ) ) ) @@ -2140,16 +2140,16 @@ (let ((v1-53 (-> self bubble-type))) (set! (-> *part-tracker-params-default* group) (cond ((zero? v1-53) - (-> *part-group-id-table* 506) + group-pre-bubble-pop-triangle ) ((= v1-53 1) - (-> *part-group-id-table* 507) + group-pre-bubble-pop-circle ) ((= v1-53 2) - (-> *part-group-id-table* 509) + group-pre-bubble-pop-x ) (else - (-> *part-group-id-table* 508) + group-pre-bubble-pop-square ) ) ) @@ -2185,16 +2185,16 @@ (cond ((logtest? (-> (cond ((zero? v1-8) - (-> *part-group-id-table* 514) + group-pre-bubble-land-triangle ) ((= v1-8 1) - (-> *part-group-id-table* 515) + group-pre-bubble-land-circle ) ((= v1-8 2) - (-> *part-group-id-table* 517) + group-pre-bubble-land-x ) (else - (-> *part-group-id-table* 516) + group-pre-bubble-land-square ) ) flags @@ -2219,16 +2219,16 @@ (let ((v1-21 (-> self bubble-type))) (set! (-> *part-tracker-subsampler-params-default* group) (cond ((zero? v1-21) - (-> *part-group-id-table* 514) + group-pre-bubble-land-triangle ) ((= v1-21 1) - (-> *part-group-id-table* 515) + group-pre-bubble-land-circle ) ((= v1-21 2) - (-> *part-group-id-table* 517) + group-pre-bubble-land-x ) (else - (-> *part-group-id-table* 516) + group-pre-bubble-land-square ) ) ) @@ -2259,16 +2259,16 @@ (let ((v1-40 (-> self bubble-type))) (set! (-> *part-tracker-params-default* group) (cond ((zero? v1-40) - (-> *part-group-id-table* 514) + group-pre-bubble-land-triangle ) ((= v1-40 1) - (-> *part-group-id-table* 515) + group-pre-bubble-land-circle ) ((= v1-40 2) - (-> *part-group-id-table* 517) + group-pre-bubble-land-x ) (else - (-> *part-group-id-table* 516) + group-pre-bubble-land-square ) ) ) @@ -2326,19 +2326,19 @@ (cond ((zero? arg2) (setup-masks (-> self draw) 0 11) - (-> *part-group-id-table* 502) + group-pre-bubble-triangle ) ((= arg2 1) (setup-masks (-> self draw) 0 14) - (-> *part-group-id-table* 503) + group-pre-bubble-circle ) ((= arg2 2) (setup-masks (-> self draw) 0 7) - (-> *part-group-id-table* 505) + group-pre-bubble-x ) (else (setup-masks (-> self draw) 0 13) - (-> *part-group-id-table* 504) + group-pre-bubble-square ) ) self diff --git a/test/decompiler/reference/jak3/levels/wascity/dm-flyer_REF.gc b/test/decompiler/reference/jak3/levels/wascity/dm-flyer_REF.gc index 1ae616de5a..4cff65e994 100644 --- a/test/decompiler/reference/jak3/levels/wascity/dm-flyer_REF.gc +++ b/test/decompiler/reference/jak3/levels/wascity/dm-flyer_REF.gc @@ -240,28 +240,33 @@ ((< (* f0-6 f0-6) (vector-vector-distance-squared (-> self root trans) (target-pos 0))) (forward-up->inv-matrix gp-0 (-> self pre-move-transv) *up-vector*) (vector-copy! (-> gp-0 trans) (-> self root trans)) - (if (logtest? (-> *part-group-id-table* 539 flags) (sp-group-flag sp13)) + (if (logtest? (-> group-maker-grenade-explosion flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 539) + :group group-maker-grenade-explosion :mat-joint gp-0 ) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 539) :mat-joint gp-0) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-maker-grenade-explosion :mat-joint gp-0) ) (sound-play "ball-explode") ) (else (quaternion->matrix gp-0 (-> *target* control quat)) (vector-copy! (-> gp-0 trans) (-> *target* control trans)) - (if (logtest? (-> *part-group-id-table* 541 flags) (sp-group-flag sp13)) + (if (logtest? (-> group-maker-grenade-explosion-bottom flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 541) + :group group-maker-grenade-explosion-bottom + :mat-joint gp-0 + ) + (part-tracker-spawn + part-tracker + :to *entity-pool* + :group group-maker-grenade-explosion-bottom :mat-joint gp-0 ) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 541) :mat-joint gp-0) ) (sound-play "ball-hit-turret") ) @@ -339,23 +344,23 @@ (cond ((-> this hit-actor?) (cond - ((logtest? (-> *part-group-id-table* 102 flags) (sp-group-flag sp13)) + ((logtest? (-> group-gun-yellow-shot-hit-object flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> this root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 102)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-gun-yellow-shot-hit-object) ) (else (vector-copy! (-> *launch-matrix* trans) (-> this root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 102)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-gun-yellow-shot-hit-object) ) ) ) - ((logtest? (-> *part-group-id-table* 101 flags) (sp-group-flag sp13)) + ((logtest? (-> group-gun-yellow-shot-hit flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> this root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 101)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-gun-yellow-shot-hit) ) (else (vector-copy! (-> *launch-matrix* trans) (-> this root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 101)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-gun-yellow-shot-hit) ) ) ) @@ -602,7 +607,7 @@ ) ) (set! (-> this desired-target) (process->handle *target*)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 537) this)) + (set! (-> this part) (create-launch-control group-dm-flyer-missile this)) (let ((s3-0 (as-type (handle->process (-> this desired-target)) process-focusable))) (if s3-0 (vector+float*! diff --git a/test/decompiler/reference/jak3/levels/wascity/leaper/was-leaper-race_REF.gc b/test/decompiler/reference/jak3/levels/wascity/leaper/was-leaper-race_REF.gc index 64395575d5..101e6c0a66 100644 --- a/test/decompiler/reference/jak3/levels/wascity/leaper/was-leaper-race_REF.gc +++ b/test/decompiler/reference/jak3/levels/wascity/leaper/was-leaper-race_REF.gc @@ -393,19 +393,14 @@ :event (behavior ((proc process) (argc int) (message symbol) (block event-message-block)) (case message (('hit) - (if (logtest? (-> *part-group-id-table* 521 flags) (sp-group-flag sp13)) + (if (logtest? (-> group-leaper-ring-explode flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 521) - :mat-joint (-> self mat) - ) - (part-tracker-spawn - part-tracker - :to *entity-pool* - :group (-> *part-group-id-table* 521) + :group group-leaper-ring-explode :mat-joint (-> self mat) ) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-leaper-ring-explode :mat-joint (-> self mat)) ) (update self) (if (not (-> self active?)) @@ -439,26 +434,26 @@ (cond ((-> self is-final?) (sound-play "ring-final") - (if (logtest? (-> *part-group-id-table* 523 flags) (sp-group-flag sp13)) + (if (logtest? (-> group-player-leaper-ring-explode-final flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 523) + :group group-player-leaper-ring-explode-final :mat-joint (-> self mat) ) (part-tracker-spawn part-tracker :to *entity-pool* - :group (-> *part-group-id-table* 523) + :group group-player-leaper-ring-explode-final :mat-joint (-> self mat) ) ) ) - ((begin (sound-play "ring-pass") (logtest? (-> *part-group-id-table* 522 flags) (sp-group-flag sp13))) + ((begin (sound-play "ring-pass") (logtest? (-> group-player-leaper-ring-explode flags) (sp-group-flag sp13))) (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 522) + :group group-player-leaper-ring-explode :mat-joint (-> self mat) ) ) @@ -466,7 +461,7 @@ (part-tracker-spawn part-tracker :to *entity-pool* - :group (-> *part-group-id-table* 522) + :group group-player-leaper-ring-explode :mat-joint (-> self mat) ) ) @@ -623,11 +618,11 @@ (quaternion->matrix (-> this mat) (-> this root quat)) (vector-copy! (-> this mat trans) (-> this root trans)) (set! (-> this taskman) (the-as handle #f)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 518) this)) - (set! (-> this player-part) (create-launch-control (-> *part-group-id-table* 519) this)) + (set! (-> this part) (create-launch-control group-leaper-ring this)) + (set! (-> this player-part) (create-launch-control group-player-leaper-ring this)) (set! (-> this player-ring?) #f) (set! (-> this is-final?) #f) - (set! (-> this part-final) (create-launch-control (-> *part-group-id-table* 520) this)) + (set! (-> this part-final) (create-launch-control group-player-leaper-ring-final this)) (go (method-of-object this idle)) ) diff --git a/test/decompiler/reference/jak3/levels/wascity/maker-projectile_REF.gc b/test/decompiler/reference/jak3/levels/wascity/maker-projectile_REF.gc index edb4f767f8..ed0587b41d 100644 --- a/test/decompiler/reference/jak3/levels/wascity/maker-projectile_REF.gc +++ b/test/decompiler/reference/jak3/levels/wascity/maker-projectile_REF.gc @@ -795,28 +795,33 @@ ((< (* f0-6 f0-6) (vector-vector-distance-squared (-> self root trans) (target-pos 0))) (forward-up->inv-matrix gp-0 (-> self pre-move-transv) *up-vector*) (vector-copy! (-> gp-0 trans) (-> self root trans)) - (if (logtest? (-> *part-group-id-table* 539 flags) (sp-group-flag sp13)) + (if (logtest? (-> group-maker-grenade-explosion flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 539) + :group group-maker-grenade-explosion :mat-joint gp-0 ) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 539) :mat-joint gp-0) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-maker-grenade-explosion :mat-joint gp-0) ) (sound-play "ball-explode") ) (else (quaternion->matrix gp-0 (-> *target* control quat)) (vector-copy! (-> gp-0 trans) (-> *target* control trans)) - (if (logtest? (-> *part-group-id-table* 541 flags) (sp-group-flag sp13)) + (if (logtest? (-> group-maker-grenade-explosion-bottom flags) (sp-group-flag sp13)) (part-tracker-spawn part-tracker-subsampler :to *entity-pool* - :group (-> *part-group-id-table* 541) + :group group-maker-grenade-explosion-bottom + :mat-joint gp-0 + ) + (part-tracker-spawn + part-tracker + :to *entity-pool* + :group group-maker-grenade-explosion-bottom :mat-joint gp-0 ) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 541) :mat-joint gp-0) ) (sound-play "ball-hit-turret") ) @@ -927,7 +932,7 @@ (set! (-> this draw lod-set lod 0 dist) 696320.0) (set! (-> this draw lod-set lod 1 dist) 7372800.0) (set! (-> this draw lod-set lod 2 dist) 7372800.0) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 550) this)) + (set! (-> this part) (create-launch-control group-maker-grenade-glow this)) (set! (-> this blast-radius) 122880.0) (set! (-> this max-speed) 450560.0) (set! (-> this timeout) (seconds 12)) diff --git a/test/decompiler/reference/jak3/levels/wascity/wasall-obs_REF.gc b/test/decompiler/reference/jak3/levels/wascity/wasall-obs_REF.gc index 97b8ab2d70..25a2fcb3c2 100644 --- a/test/decompiler/reference/jak3/levels/wascity/wasall-obs_REF.gc +++ b/test/decompiler/reference/jak3/levels/wascity/wasall-obs_REF.gc @@ -478,13 +478,13 @@ (set-vector! gp-0 (-> s4-0 trans x) (get-base-height *ocean-map*) (-> s4-0 trans z) 1.0) ) (cond - ((logtest? (-> *part-group-id-table* 409 flags) (sp-group-flag sp13)) + ((logtest? (-> group-tentacle-attack flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) gp-0) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 409)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-tentacle-attack) ) (else (vector-copy! (-> *launch-matrix* trans) gp-0) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 409)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-tentacle-attack) ) ) ) @@ -549,7 +549,7 @@ (the-as skeleton-group (art-group-get-by-name *level* "skel-tentacle" (the-as (pointer level) #f))) (the-as pair 0) ) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 408) this)) + (set! (-> this part) (create-launch-control group-tentacle-warn this)) (set! (-> this nav-mesh) #f) (set! (-> this sound-id-loop) (new-sound-id)) (set! (-> this sound-id-attack) (new-sound-id)) diff --git a/test/decompiler/reference/jak3/levels/wascity/wascity-turret_REF.gc b/test/decompiler/reference/jak3/levels/wascity/wascity-turret_REF.gc index b2a86a7fad..fceedfcee7 100644 --- a/test/decompiler/reference/jak3/levels/wascity/wascity-turret_REF.gc +++ b/test/decompiler/reference/jak3/levels/wascity/wascity-turret_REF.gc @@ -180,13 +180,13 @@ (vector-copy! v1-12 (-> this root trans)) (+! (-> v1-12 y) 8192.0) (cond - ((logtest? (-> *part-group-id-table* 542 flags) (sp-group-flag sp13)) + ((logtest? (-> group-wc-turret-explode flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) v1-12) - (part-tracker-spawn part-tracker-subsampler :to this :group (-> *part-group-id-table* 542)) + (part-tracker-spawn part-tracker-subsampler :to this :group group-wc-turret-explode) ) (else (vector-copy! (-> *launch-matrix* trans) v1-12) - (part-tracker-spawn part-tracker :to this :group (-> *part-group-id-table* 542)) + (part-tracker-spawn part-tracker :to this :group group-wc-turret-explode) ) ) ) @@ -341,8 +341,8 @@ (set! (-> this info) (new 'static 'target-turret-info :idle-anim 4 :camera-joint 3)) (set! (-> this info explode-sg) #f) (set! (-> this info explode-params) #f) - (set! (-> this reticle-part) (create-launch-control (-> *part-group-id-table* 548) this)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 549) this)) + (set! (-> this reticle-part) (create-launch-control group-turret-reticle this)) + (set! (-> this part) (create-launch-control group-turret-skeet this)) 0 (none) ) diff --git a/test/decompiler/reference/jak3/levels/wascity/wasdef-manager_REF.gc b/test/decompiler/reference/jak3/levels/wascity/wasdef-manager_REF.gc index db807430c1..2dbc4e5716 100644 --- a/test/decompiler/reference/jak3/levels/wascity/wasdef-manager_REF.gc +++ b/test/decompiler/reference/jak3/levels/wascity/wasdef-manager_REF.gc @@ -1329,13 +1329,13 @@ ) ) (cond - ((logtest? (-> *part-group-id-table* 538 flags) (sp-group-flag sp13)) + ((logtest? (-> group-maker-explosion flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> (the-as attack-info gp-0) trans)) - (part-tracker-spawn part-tracker-subsampler :to self :group (-> *part-group-id-table* 538)) + (part-tracker-spawn part-tracker-subsampler :to self :group group-maker-explosion) ) (else (vector-copy! (-> *launch-matrix* trans) (-> (the-as attack-info gp-0) trans)) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 538)) + (part-tracker-spawn part-tracker :to self :group group-maker-explosion) ) ) ) @@ -1789,18 +1789,13 @@ ) (set! (-> s4-2 y) (get-base-height *ocean-map*)) (cond - ((logtest? (-> *part-group-id-table* 535 flags) (sp-group-flag sp13)) + ((logtest? (-> group-dm-robot-ripple flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) s4-2) - (part-tracker-spawn - part-tracker-subsampler - :to self - :group (-> *part-group-id-table* 535) - :duration (seconds 1) - ) + (part-tracker-spawn part-tracker-subsampler :to self :group group-dm-robot-ripple :duration (seconds 1)) ) (else (vector-copy! (-> *launch-matrix* trans) s4-2) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 535) :duration (seconds 1)) + (part-tracker-spawn part-tracker :to self :group group-dm-robot-ripple :duration (seconds 1)) ) ) ) @@ -1816,18 +1811,13 @@ ) (set! (-> s4-5 y) (get-base-height *ocean-map*)) (cond - ((logtest? (-> *part-group-id-table* 535 flags) (sp-group-flag sp13)) + ((logtest? (-> group-dm-robot-ripple flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) s4-5) - (part-tracker-spawn - part-tracker-subsampler - :to self - :group (-> *part-group-id-table* 535) - :duration (seconds 1) - ) + (part-tracker-spawn part-tracker-subsampler :to self :group group-dm-robot-ripple :duration (seconds 1)) ) (else (vector-copy! (-> *launch-matrix* trans) s4-5) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 535) :duration (seconds 1)) + (part-tracker-spawn part-tracker :to self :group group-dm-robot-ripple :duration (seconds 1)) ) ) ) @@ -1980,18 +1970,13 @@ (set! (-> self maker-sound-playing?) #t) ) (cond - ((logtest? (-> *part-group-id-table* 534 flags) (sp-group-flag sp13)) + ((logtest? (-> group-dm-robot-ambush flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn - part-tracker-subsampler - :to self - :group (-> *part-group-id-table* 534) - :duration (seconds 1) - ) + (part-tracker-spawn part-tracker-subsampler :to self :group group-dm-robot-ambush :duration (seconds 1)) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 534) :duration (seconds 1)) + (part-tracker-spawn part-tracker :to self :group group-dm-robot-ambush :duration (seconds 1)) ) ) (sound-play "dm-robot-appear") @@ -2028,18 +2013,13 @@ (set! (-> s4-0 y) (get-base-height *ocean-map*)) (sound-play "ball-splash") (cond - ((logtest? (-> *part-group-id-table* 536 flags) (sp-group-flag sp13)) + ((logtest? (-> group-dm-robot-splash flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) s4-0) - (part-tracker-spawn - part-tracker-subsampler - :to self - :group (-> *part-group-id-table* 536) - :duration (seconds 5) - ) + (part-tracker-spawn part-tracker-subsampler :to self :group group-dm-robot-splash :duration (seconds 5)) ) (else (vector-copy! (-> *launch-matrix* trans) s4-0) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 536) :duration (seconds 5)) + (part-tracker-spawn part-tracker :to self :group group-dm-robot-splash :duration (seconds 5)) ) ) ) @@ -2143,18 +2123,13 @@ (v1-7 (vector<-cspace! (new 'stack-no-clear 'vector) a1-1)) ) (cond - ((logtest? (-> *part-group-id-table* 545 flags) (sp-group-flag sp13)) + ((logtest? (-> group-dm-final-explode flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) v1-7) - (part-tracker-spawn - part-tracker-subsampler - :to self - :group (-> *part-group-id-table* 545) - :duration (seconds 5) - ) + (part-tracker-spawn part-tracker-subsampler :to self :group group-dm-final-explode :duration (seconds 5)) ) (else (vector-copy! (-> *launch-matrix* trans) v1-7) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 545) :duration (seconds 5)) + (part-tracker-spawn part-tracker :to self :group group-dm-final-explode :duration (seconds 5)) ) ) ) @@ -2460,7 +2435,7 @@ (set! (-> self prim-targeted) -1) (set! (-> self damage-idx) 0) (dotimes (s4-2 5) - (set! (-> self damage-info s4-2 part) (create-launch-control (-> *part-group-id-table* 543) self)) + (set! (-> self damage-info s4-2 part) (create-launch-control group-maker-damage-sparks self)) (vector-reset! (+ (the-as uint (-> self damage-info 0 pos)) (* 48 s4-2))) (set! (-> self damage-info s4-2 jnt) (the-as uint (-> *maker-damage-joint-array* s4-2))) (set! (-> self damage-info s4-2 active) #f) diff --git a/test/decompiler/reference/jak3/levels/wascity/wasgun-manager_REF.gc b/test/decompiler/reference/jak3/levels/wascity/wasgun-manager_REF.gc index d3452ce4a3..d92c9871f2 100644 --- a/test/decompiler/reference/jak3/levels/wascity/wasgun-manager_REF.gc +++ b/test/decompiler/reference/jak3/levels/wascity/wasgun-manager_REF.gc @@ -1314,13 +1314,13 @@ (sound-play "skeet-explode") (set! (-> self disappear) #t) (cond - ((logtest? (-> *part-group-id-table* 546 flags) (sp-group-flag sp13)) + ((logtest? (-> group-wascity-turret-shot-hit flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 546)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-wascity-turret-shot-hit) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 546)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-wascity-turret-shot-hit) ) ) (go-virtual explode) @@ -1350,18 +1350,13 @@ (suspend) ) (cond - ((logtest? (-> *part-group-id-table* 533 flags) (sp-group-flag sp13)) + ((logtest? (-> group-skeet-splash flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn - part-tracker-subsampler - :to self - :group (-> *part-group-id-table* 533) - :duration (seconds 5) - ) + (part-tracker-spawn part-tracker-subsampler :to self :group group-skeet-splash :duration (seconds 5)) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 533) :duration (seconds 5)) + (part-tracker-spawn part-tracker :to self :group group-skeet-splash :duration (seconds 5)) ) ) (sound-play "skeet-splash") @@ -1748,18 +1743,13 @@ ;; WARN: Return type mismatch process vs skeet. (defun spawn-skeet ((arg0 task-manager-wascity-gungame) (arg1 skeet-mode) (arg2 vector) (arg3 float) (arg4 float)) (cond - ((logtest? (-> *part-group-id-table* 533 flags) (sp-group-flag sp13)) + ((logtest? (-> group-skeet-splash flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) arg2) - (part-tracker-spawn - part-tracker-subsampler - :to arg0 - :group (-> *part-group-id-table* 533) - :duration (seconds 5) - ) + (part-tracker-spawn part-tracker-subsampler :to arg0 :group group-skeet-splash :duration (seconds 5)) ) (else (vector-copy! (-> *launch-matrix* trans) arg2) - (part-tracker-spawn part-tracker :to arg0 :group (-> *part-group-id-table* 533) :duration (seconds 5)) + (part-tracker-spawn part-tracker :to arg0 :group group-skeet-splash :duration (seconds 5)) ) ) (let ((s1-2 (the-as process #f))) diff --git a/test/decompiler/reference/jak3/levels/wascity/wasstadium/nst-gas_REF.gc b/test/decompiler/reference/jak3/levels/wascity/wasstadium/nst-gas_REF.gc index 35a459c023..7b5a115349 100644 --- a/test/decompiler/reference/jak3/levels/wascity/wasstadium/nst-gas_REF.gc +++ b/test/decompiler/reference/jak3/levels/wascity/wasstadium/nst-gas_REF.gc @@ -364,7 +364,7 @@ (let ((t9-0 (method-of-type task-manager init!))) (t9-0 this) ) - (let ((a0-2 (-> *part-group-id-table* 640))) + (let ((a0-2 group-nest-fog)) (if (nonzero? a0-2) (set! (-> this part) (create-launch-control a0-2 this)) ) diff --git a/test/decompiler/reference/jak3/levels/wascity/wasstadium/wasstada-obs_REF.gc b/test/decompiler/reference/jak3/levels/wascity/wasstadium/wasstada-obs_REF.gc index 6230afe80d..6c4e42c680 100644 --- a/test/decompiler/reference/jak3/levels/wascity/wasstadium/wasstada-obs_REF.gc +++ b/test/decompiler/reference/jak3/levels/wascity/wasstadium/wasstada-obs_REF.gc @@ -801,7 +801,7 @@ (set! (-> this path) (new 'process 'path-control this 'path 0.0 arg0 #f)) (logior! (-> this path flags) (path-control-flag display draw-line draw-point draw-text)) (logclear! (-> this mask) (process-mask actor-pause)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 488) this)) + (set! (-> this part) (create-launch-control group-wasstada-lava-sploop-box this)) (set! (-> this dest-pos) (the float (+ (shr (-> this sync period) 1) -1))) (set! (-> this current-pos) (-> this dest-pos)) (set! (-> this speed) 0.0) diff --git a/test/decompiler/reference/jak3/levels/wascity/wasstadium/wasstada-part_REF.gc b/test/decompiler/reference/jak3/levels/wascity/wasstadium/wasstada-part_REF.gc index c4a6b190b3..2520b1e90b 100644 --- a/test/decompiler/reference/jak3/levels/wascity/wasstadium/wasstada-part_REF.gc +++ b/test/decompiler/reference/jak3/levels/wascity/wasstadium/wasstada-part_REF.gc @@ -2225,7 +2225,7 @@ (set! (-> this root) (new 'process 'trsqv)) (process-drawable-from-entity! this arg0) (logclear! (-> this mask) (process-mask actor-pause)) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 498) this)) + (set! (-> this part) (create-launch-control group-wasstada-crowd-wedge this)) (set! (-> this hola) 0.0) (go (method-of-object this idle)) ) diff --git a/test/decompiler/reference/jak3/levels/wascity/wasstadium/wasstadb-obs_REF.gc b/test/decompiler/reference/jak3/levels/wascity/wasstadium/wasstadb-obs_REF.gc index cdf81c62d2..4e77e4bf3a 100644 --- a/test/decompiler/reference/jak3/levels/wascity/wasstadium/wasstadb-obs_REF.gc +++ b/test/decompiler/reference/jak3/levels/wascity/wasstadium/wasstadb-obs_REF.gc @@ -470,13 +470,13 @@ (case message (('touch 'attack) (cond - ((logtest? (-> *part-group-id-table* 500 flags) (sp-group-flag sp13)) + ((logtest? (-> group-arena-token-pickup flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 500)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-arena-token-pickup) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self root trans)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 500)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-arena-token-pickup) ) ) (sound-play "arena-token") @@ -510,13 +510,13 @@ (set! (-> self shadow-h) (ppointer->handle (cond - ((logtest? (-> *part-group-id-table* 501 flags) (sp-group-flag sp13)) + ((logtest? (-> group-arena-token-shadow flags) (sp-group-flag sp13)) (vector-copy! (-> *launch-matrix* trans) (-> self gspot)) - (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 501)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-arena-token-shadow) ) (else (vector-copy! (-> *launch-matrix* trans) (-> self gspot)) - (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 501)) + (part-tracker-spawn part-tracker :to *entity-pool* :group group-arena-token-shadow) ) ) ) @@ -638,7 +638,7 @@ (the-as skeleton-group (art-group-get-by-name *level* "skel-arena-token" (the-as (pointer level) #f))) (the-as pair 0) ) - (set! (-> this part) (create-launch-control (-> *part-group-id-table* 499) this)) + (set! (-> this part) (create-launch-control group-arena-token this)) (set! (-> this trans-y) (-> this root trans y)) (set! (-> this offset) (rand-vu-float-range 0.0 4.0)) (probe-background this) diff --git a/test/decompiler/reference/jak3/levels/wascity/wasstadium/wasstadc-obs_REF.gc b/test/decompiler/reference/jak3/levels/wascity/wasstadium/wasstadc-obs_REF.gc index 722132347e..a524a9cfe4 100644 --- a/test/decompiler/reference/jak3/levels/wascity/wasstadium/wasstadc-obs_REF.gc +++ b/test/decompiler/reference/jak3/levels/wascity/wasstadium/wasstadc-obs_REF.gc @@ -332,7 +332,7 @@ (ja-post) (logclear! (-> self mask) (process-mask actor-pause)) (set! (-> self crate-h) (the-as handle #f)) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 488) self)) + (set! (-> self part) (create-launch-control group-wasstada-lava-sploop-box self)) (set! (-> self draw light-index) (the-as uint 10)) (logior! (-> self mask) (process-mask platform)) (go-virtual active) @@ -899,7 +899,7 @@ (set! (-> self attack-ang v1-28) (* 8192.0 (the float v1-28))) ) (set! (-> self cur-point) 0) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 487) self)) + (set! (-> self part) (create-launch-control group-wasstada-lava-sploop self)) (set! (-> self translate) arg2) (dotimes (s4-1 4) (set! (-> self box s4-1) @@ -1277,7 +1277,7 @@ (ja-no-eval :group! (ja-group) :num! (loop!) :frame-num 0.0) (ja-post) (logclear! (-> self mask) (process-mask actor-pause)) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 487) self)) + (set! (-> self part) (create-launch-control group-wasstada-lava-sploop self)) (set! (-> self translate) arg2) (set! (-> self box) (ppointer->handle (process-spawn wstd-fight-plat-box :name "wstd-fight-plat-box" :to self)) @@ -1838,7 +1838,7 @@ (set! (-> self attack-ang v1-28) (* 8192.0 (the float v1-28))) ) (set! (-> self cur-point) 0) - (set! (-> self part) (create-launch-control (-> *part-group-id-table* 487) self)) + (set! (-> self part) (create-launch-control group-wasstada-lava-sploop self)) (set! (-> self translate) arg2) (dotimes (s5-1 4) (let ((s4-2 (get-process *default-dead-pool* wstd-fight-plat-smlplat #x4000 1))) diff --git a/test/offline/framework/execution.cpp b/test/offline/framework/execution.cpp index d7464de454..ac19781559 100644 --- a/test/offline/framework/execution.cpp +++ b/test/offline/framework/execution.cpp @@ -112,10 +112,19 @@ OfflineTestCompileResult compile(OfflineTestDecompiler& dc, {"test", "decompiler", "reference", config.game_name, "decompiler-macros.gc"}); if (config.game_name == "jak2") { compiler.run_front_end_on_file({"goal_src", "jak2", "engine", "data", "art-elts.gc"}); + compiler.run_front_end_on_file({"goal_src", "jak2", "engine", "data", "joint-nodes.gc"}); + compiler.run_front_end_on_file({"goal_src", "jak2", "engine", "data", "textures.gc"}); + compiler.run_front_end_on_file({"goal_src", "jak2", "engine", "data", "part-groups.gc"}); } else if (config.game_name == "jak1") { compiler.run_front_end_on_file({"goal_src", "jak1", "engine", "data", "art-elts.gc"}); + compiler.run_front_end_on_file({"goal_src", "jak1", "engine", "data", "joint-nodes.gc"}); + compiler.run_front_end_on_file({"goal_src", "jak1", "engine", "data", "textures.gc"}); + compiler.run_front_end_on_file({"goal_src", "jak1", "engine", "data", "part-groups.gc"}); } else if (config.game_name == "jak3") { compiler.run_front_end_on_file({"goal_src", "jak3", "engine", "data", "art-elts.gc"}); + compiler.run_front_end_on_file({"goal_src", "jak3", "engine", "data", "joint-nodes.gc"}); + compiler.run_front_end_on_file({"goal_src", "jak3", "engine", "data", "textures.gc"}); + compiler.run_front_end_on_file({"goal_src", "jak3", "engine", "data", "part-groups.gc"}); } int total_lines = 0; diff --git a/test/offline/framework/orchestration.cpp b/test/offline/framework/orchestration.cpp index eebcf16385..b08bbefd2d 100644 --- a/test/offline/framework/orchestration.cpp +++ b/test/offline/framework/orchestration.cpp @@ -57,6 +57,7 @@ OfflineTestDecompiler setup_decompiler(const OfflineTestWorkGroup& work, dc.db->dts.art_group_info = dc.config->art_group_info_dump; dc.db->dts.jg_info = dc.config->jg_info_dump; dc.db->dts.textures = dc.config->texture_info_dump; + dc.db->dts.part_group_table = dc.config->part_group_table; std::unordered_set db_files; for (auto& files_by_name : dc.db->obj_files_by_name) {