mirror of
https://github.com/open-goal/jak-project
synced 2026-07-08 22:45:00 -04:00
[decomp] add import statements for art groups (#1372)
* new code * update goal_src and remove all_imports * update reference * add decompiler list of imports * deduplicate and move below decomp begins
This commit is contained in:
@@ -3466,7 +3466,7 @@ Form* try_rewrite_as_pppointer_to_process(CondNoElseElement* value,
|
||||
// )
|
||||
// (ja-group :chan 0)
|
||||
Form* try_rewrite_as_ja_group(CondNoElseElement* value,
|
||||
FormStack& stack,
|
||||
FormStack& /*stack*/,
|
||||
FormPool& pool,
|
||||
const Env& env) {
|
||||
if (value->entries.size() != 1) {
|
||||
@@ -4152,7 +4152,7 @@ FormElement* ConditionElement::make_equal_check_generic(const Env& env,
|
||||
macro_args.push_back(source_forms.at(1));
|
||||
|
||||
auto jagroup = source_forms.at(0)->try_as_element<GenericElement>();
|
||||
for (int i = 1; i < jagroup->elts().size(); ++i) {
|
||||
for (size_t i = 1; i < jagroup->elts().size(); ++i) {
|
||||
macro_args.push_back(jagroup->elts().at(i));
|
||||
}
|
||||
return pool.alloc_element<GenericElement>(
|
||||
|
||||
@@ -111,7 +111,10 @@ class ObjectFileDB {
|
||||
void ir2_rewrite_inline_asm_instructions(int seg, ObjectFileData& data);
|
||||
void ir2_insert_anonymous_functions(int seg, ObjectFileData& data);
|
||||
void ir2_symbol_definition_map(ObjectFileData& data);
|
||||
void ir2_write_results(const std::string& output_dir, const Config& config, ObjectFileData& data);
|
||||
void ir2_write_results(const std::string& output_dir,
|
||||
const Config& config,
|
||||
const std::vector<std::string>& imports,
|
||||
ObjectFileData& data);
|
||||
void ir2_do_segment_analysis_phase1(int seg, const Config& config, ObjectFileData& data);
|
||||
void ir2_do_segment_analysis_phase2(int seg, const Config& config, ObjectFileData& data);
|
||||
void ir2_setup_labels(const Config& config, ObjectFileData& data);
|
||||
@@ -119,7 +122,8 @@ class ObjectFileDB {
|
||||
std::string ir2_to_file(ObjectFileData& data, const Config& config);
|
||||
std::string ir2_function_to_string(ObjectFileData& data, Function& function, int seg);
|
||||
std::string ir2_final_out(ObjectFileData& data,
|
||||
const std::unordered_set<std::string>& skip_functions = {});
|
||||
const std::vector<std::string>& imports,
|
||||
const std::unordered_set<std::string>& skip_functions);
|
||||
|
||||
std::string process_tpages(TextureDB& tex_db);
|
||||
std::string process_game_count_file();
|
||||
|
||||
@@ -92,13 +92,19 @@ void ObjectFileDB::analyze_functions_ir2(
|
||||
|
||||
ir2_symbol_definition_map(data);
|
||||
|
||||
const auto& imports_it = config.import_deps_by_file.find(data.to_unique_name());
|
||||
std::vector<std::string> imports;
|
||||
if (imports_it != config.import_deps_by_file.end()) {
|
||||
imports = imports_it->second;
|
||||
}
|
||||
|
||||
if (!output_dir.empty()) {
|
||||
ir2_write_results(output_dir, config, data);
|
||||
ir2_write_results(output_dir, config, imports, data);
|
||||
} else {
|
||||
if (!skip_functions.empty()) {
|
||||
data.output_with_skips = ir2_final_out(data, skip_functions);
|
||||
data.output_with_skips = ir2_final_out(data, imports, skip_functions);
|
||||
}
|
||||
data.full_output = ir2_final_out(data);
|
||||
data.full_output = ir2_final_out(data, imports, {});
|
||||
}
|
||||
|
||||
for_each_function_def_order_in_obj(data, [&](Function& f, int) { f.ir2 = {}; });
|
||||
@@ -641,6 +647,7 @@ void ObjectFileDB::ir2_insert_anonymous_functions(int seg, ObjectFileData& data)
|
||||
|
||||
void ObjectFileDB::ir2_write_results(const std::string& output_dir,
|
||||
const Config& config,
|
||||
const std::vector<std::string>& imports,
|
||||
ObjectFileData& obj) {
|
||||
if (obj.linked_data.has_any_functions()) {
|
||||
// todo
|
||||
@@ -649,7 +656,7 @@ void ObjectFileDB::ir2_write_results(const std::string& output_dir,
|
||||
auto file_name = file_util::combine_path(output_dir, obj.to_unique_name() + "_ir2.asm");
|
||||
file_util::write_text_file(file_name, file_text);
|
||||
|
||||
auto final = ir2_final_out(obj);
|
||||
auto final = ir2_final_out(obj, imports, {});
|
||||
auto final_name = file_util::combine_path(output_dir, obj.to_unique_name() + "_disasm.gc");
|
||||
file_util::write_text_file(final_name, final);
|
||||
}
|
||||
@@ -1022,6 +1029,7 @@ bool ObjectFileDB::lookup_function_type(const FunctionName& name,
|
||||
}
|
||||
|
||||
std::string ObjectFileDB::ir2_final_out(ObjectFileData& data,
|
||||
const std::vector<std::string>& imports,
|
||||
const std::unordered_set<std::string>& skip_functions) {
|
||||
if (data.obj_version == 3) {
|
||||
std::string result;
|
||||
@@ -1029,7 +1037,7 @@ std::string ObjectFileDB::ir2_final_out(ObjectFileData& data,
|
||||
result += "(in-package goal)\n\n";
|
||||
ASSERT(data.linked_data.functions_by_seg.at(TOP_LEVEL_SEGMENT).size() == 1);
|
||||
auto top_level = data.linked_data.functions_by_seg.at(TOP_LEVEL_SEGMENT).at(0);
|
||||
result += write_from_top_level(top_level, dts, data.linked_data, skip_functions);
|
||||
result += write_from_top_level(top_level, dts, data.linked_data, imports, skip_functions);
|
||||
result += "\n\n";
|
||||
return result;
|
||||
} else {
|
||||
|
||||
@@ -227,6 +227,7 @@ std::string write_from_top_level_form(Form* top_form,
|
||||
const DecompilerTypeSystem& dts,
|
||||
const LinkedObjectFile& file,
|
||||
const std::unordered_set<std::string>& skip_functions,
|
||||
const std::vector<std::string>& imports,
|
||||
const Env& env) {
|
||||
std::vector<FormElement*> forms = top_form->elts();
|
||||
ASSERT(!forms.empty());
|
||||
@@ -238,6 +239,15 @@ std::string write_from_top_level_form(Form* top_form,
|
||||
}
|
||||
|
||||
std::string result;
|
||||
|
||||
// import deps:
|
||||
for (const auto& import : imports) {
|
||||
result += fmt::format("(import \"{}\")\n", import);
|
||||
}
|
||||
if (!imports.empty()) {
|
||||
result += "\n";
|
||||
}
|
||||
|
||||
// local vars:
|
||||
auto var_dec = env.local_var_type_list(top_form, 0);
|
||||
if (var_dec.local_vars) {
|
||||
@@ -443,7 +453,7 @@ std::string write_from_top_level_form(Form* top_form,
|
||||
result += ";; this part is debug only\n";
|
||||
result += "(when *debug-segment*\n";
|
||||
|
||||
result += write_from_top_level_form(entry.body, dts, file, skip_functions, env);
|
||||
result += write_from_top_level_form(entry.body, dts, file, skip_functions, imports, env);
|
||||
|
||||
result += ")\n";
|
||||
}
|
||||
@@ -480,6 +490,7 @@ std::string write_from_top_level_form(Form* top_form,
|
||||
std::string write_from_top_level(const Function& top_level,
|
||||
const DecompilerTypeSystem& dts,
|
||||
const LinkedObjectFile& file,
|
||||
const std::vector<std::string>& imports,
|
||||
const std::unordered_set<std::string>& skip_functions) {
|
||||
auto top_form = top_level.ir2.top_form;
|
||||
if (!top_form) {
|
||||
@@ -499,6 +510,6 @@ std::string write_from_top_level(const Function& top_level,
|
||||
return ";; ERROR: top level has no register use analysis. Cannot decompile.\n\n";
|
||||
}
|
||||
|
||||
return write_from_top_level_form(top_form, dts, file, skip_functions, env);
|
||||
return write_from_top_level_form(top_form, dts, file, skip_functions, imports, env);
|
||||
}
|
||||
} // namespace decompiler
|
||||
|
||||
@@ -14,7 +14,8 @@ std::string final_defun_out(const Function& func,
|
||||
std::string write_from_top_level(const Function& top_level,
|
||||
const DecompilerTypeSystem& dts,
|
||||
const LinkedObjectFile& file,
|
||||
const std::unordered_set<std::string>& skip_functions = {});
|
||||
const std::vector<std::string>& imports,
|
||||
const std::unordered_set<std::string>& skip_functions);
|
||||
|
||||
goos::Object get_arg_list_for_function(const Function& func, const Env& env);
|
||||
goos::Object final_output_lambda(const Function& function);
|
||||
|
||||
@@ -232,6 +232,10 @@ Config read_config_file(const std::string& path_to_config_file,
|
||||
config.art_groups_by_function =
|
||||
art_info_json.at("functions").get<std::unordered_map<std::string, std::string>>();
|
||||
|
||||
auto import_deps = read_json_file_from_config(cfg, "import_deps_file");
|
||||
config.import_deps_by_file =
|
||||
import_deps.get<std::unordered_map<std::string, std::vector<std::string>>>();
|
||||
|
||||
return config;
|
||||
}
|
||||
|
||||
|
||||
@@ -141,6 +141,8 @@ struct Config {
|
||||
|
||||
std::unordered_map<std::string, std::string> art_groups_by_file;
|
||||
std::unordered_map<std::string, std::string> art_groups_by_function;
|
||||
|
||||
std::unordered_map<std::string, std::vector<std::string>> import_deps_by_file;
|
||||
};
|
||||
|
||||
Config read_config_file(const std::string& path_to_config_file,
|
||||
|
||||
@@ -77,6 +77,7 @@
|
||||
"hacks_file": "decompiler/config/jak1_ntsc_black_label/hacks.jsonc",
|
||||
"inputs_file": "decompiler/config/jak1_ntsc_black_label/inputs.jsonc",
|
||||
"art_info_file": "decompiler/config/jak1_ntsc_black_label/art_info.jsonc",
|
||||
"import_deps_file": "decompiler/config/jak1_ntsc_black_label/import_deps.jsonc",
|
||||
|
||||
// optional: a predetermined object file name map from a file.
|
||||
// this will make decompilation naming consistent even if you only run on some objects.
|
||||
|
||||
@@ -0,0 +1,660 @@
|
||||
{
|
||||
"jungle-obs": [
|
||||
"goal_src/import/maindoor-ag.gc",
|
||||
"goal_src/import/junglecam-ag.gc",
|
||||
"goal_src/import/precurbridge-ag.gc",
|
||||
"goal_src/import/sidedoor-ag.gc",
|
||||
"goal_src/import/towertop-ag.gc",
|
||||
"goal_src/import/logtrap-ag.gc",
|
||||
"goal_src/import/lurkerm-tall-sail-ag.gc",
|
||||
"goal_src/import/medres-firecanyon-ag.gc",
|
||||
"goal_src/import/lurkerm-piston-ag.gc",
|
||||
"goal_src/import/accordian-ag.gc"
|
||||
],
|
||||
"assistant-village2": [
|
||||
"goal_src/import/jaws-ag.gc",
|
||||
"goal_src/import/assistant-village2-ag.gc"
|
||||
],
|
||||
"floating-launcher": [
|
||||
"goal_src/import/floating-launcher-ag.gc"
|
||||
],
|
||||
"jungle-mirrors": [
|
||||
"goal_src/import/periscope-ag.gc",
|
||||
"goal_src/import/reflector-mirror-ag.gc"
|
||||
],
|
||||
"citb-drop-plat": [
|
||||
"goal_src/import/citb-drop-plat-ag.gc"
|
||||
],
|
||||
"rolling-robber": [
|
||||
"goal_src/import/robber-ag.gc"
|
||||
],
|
||||
"balloonlurker": [
|
||||
"goal_src/import/balloonlurker-ag.gc"
|
||||
],
|
||||
"racer": [
|
||||
"goal_src/import/racer-ag.gc"
|
||||
],
|
||||
"mistycannon": [
|
||||
"goal_src/import/sack-ag.gc",
|
||||
"goal_src/import/mistycannon-ag.gc"
|
||||
],
|
||||
"beach-obs": [
|
||||
"goal_src/import/ecoventrock-ag.gc",
|
||||
"goal_src/import/beachcam-ag.gc",
|
||||
"goal_src/import/windmill-one-ag.gc",
|
||||
"goal_src/import/kickrock-ag.gc",
|
||||
"goal_src/import/harvester-ag.gc",
|
||||
"goal_src/import/flutflutegg-ag.gc",
|
||||
"goal_src/import/grottopole-ag.gc",
|
||||
"goal_src/import/flutflut-ag.gc",
|
||||
"goal_src/import/bladeassm-ag.gc"
|
||||
],
|
||||
"snow-flutflut-obs": [
|
||||
"goal_src/import/snow-button-ag.gc",
|
||||
"goal_src/import/flutflut-plat-med-ag.gc",
|
||||
"goal_src/import/flutflut-plat-small-ag.gc",
|
||||
"goal_src/import/flutflut-plat-large-ag.gc"
|
||||
],
|
||||
"snow-ball": [
|
||||
"goal_src/import/snow-ball-ag.gc"
|
||||
],
|
||||
"sun-iris-door": [
|
||||
"goal_src/import/sun-iris-door-ag.gc"
|
||||
],
|
||||
"bouncer": [
|
||||
"goal_src/import/bounceytarp-ag.gc"
|
||||
],
|
||||
"swamp-blimp": [
|
||||
"goal_src/import/swamp-tetherrock-ag.gc",
|
||||
"goal_src/import/swamp-rope-ag.gc",
|
||||
"goal_src/import/swamp-tetherrock-explode-ag.gc",
|
||||
"goal_src/import/precursor-arm-ag.gc",
|
||||
"goal_src/import/swamp-blimp-ag.gc"
|
||||
],
|
||||
"village-obs": [
|
||||
"goal_src/import/windmill-sail-ag.gc",
|
||||
"goal_src/import/medres-beach3-ag.gc",
|
||||
"goal_src/import/mayorgears-ag.gc",
|
||||
"goal_src/import/medres-village11-ag.gc",
|
||||
"goal_src/import/revcycleprop-ag.gc",
|
||||
"goal_src/import/medres-jungle2-ag.gc",
|
||||
"goal_src/import/revcycle-ag.gc",
|
||||
"goal_src/import/medres-misty-ag.gc",
|
||||
"goal_src/import/sagesail-ag.gc",
|
||||
"goal_src/import/windspinner-ag.gc",
|
||||
"goal_src/import/medres-jungle1-ag.gc",
|
||||
"goal_src/import/medres-village12-ag.gc",
|
||||
"goal_src/import/hutlamp-ag.gc",
|
||||
"goal_src/import/medres-jungle-ag.gc",
|
||||
"goal_src/import/medres-village13-ag.gc",
|
||||
"goal_src/import/medres-beach2-ag.gc",
|
||||
"goal_src/import/villa-starfish-ag.gc",
|
||||
"goal_src/import/medres-training-ag.gc",
|
||||
"goal_src/import/medres-beach-ag.gc",
|
||||
"goal_src/import/reflector-middle-ag.gc",
|
||||
"goal_src/import/medres-beach1-ag.gc"
|
||||
],
|
||||
"swamp-bat": [
|
||||
"goal_src/import/swamp-bat-ag.gc"
|
||||
],
|
||||
"crates": [
|
||||
"goal_src/import/crate-ag.gc"
|
||||
],
|
||||
"lurkerpuppy": [
|
||||
"goal_src/import/lurkerpuppy-ag.gc"
|
||||
],
|
||||
"light-eco": [
|
||||
"goal_src/import/light-eco-ag.gc"
|
||||
],
|
||||
"voicebox": [
|
||||
"goal_src/import/speaker-ag.gc"
|
||||
],
|
||||
"green-eco-lurker": [
|
||||
"goal_src/import/green-eco-lurker-ag.gc"
|
||||
],
|
||||
"helix-water": [
|
||||
"goal_src/import/helix-slide-door-ag.gc",
|
||||
"goal_src/import/helix-button-ag.gc"
|
||||
],
|
||||
"billy": [
|
||||
"goal_src/import/farthy-snack-ag.gc",
|
||||
"goal_src/import/billy-ag.gc",
|
||||
"goal_src/import/billy-sidekick-ag.gc"
|
||||
],
|
||||
"snow-ram": [
|
||||
"goal_src/import/ram-ag.gc"
|
||||
],
|
||||
"blocking-plane": [
|
||||
"goal_src/import/ef-plane-ag.gc"
|
||||
],
|
||||
"target-util": [
|
||||
"goal_src/import/eichar-ag.gc"
|
||||
],
|
||||
"beach-rocks": [
|
||||
"goal_src/import/lrocklrg-ag.gc"
|
||||
],
|
||||
"sunken-obs": [
|
||||
"goal_src/import/seaweed-ag.gc",
|
||||
"goal_src/import/sunkencam-ag.gc",
|
||||
"goal_src/import/side-to-side-plat-ag.gc"
|
||||
],
|
||||
"qbert-plat": [
|
||||
"goal_src/import/qbert-plat-ag.gc",
|
||||
"goal_src/import/qbert-plat-on-ag.gc"
|
||||
],
|
||||
"sun-exit-chamber": [
|
||||
"goal_src/import/exit-chamber-ag.gc",
|
||||
"goal_src/import/blue-eco-charger-ag.gc",
|
||||
"goal_src/import/blue-eco-charger-orb-ag.gc"
|
||||
],
|
||||
"mother-spider": [
|
||||
"goal_src/import/mother-spider-ag.gc"
|
||||
],
|
||||
"darkvine": [
|
||||
"goal_src/import/darkvine-ag.gc"
|
||||
],
|
||||
"sidekick": [
|
||||
"goal_src/import/sidekick-ag.gc"
|
||||
],
|
||||
"kermit": [
|
||||
"goal_src/import/kermit-ag.gc"
|
||||
],
|
||||
"firecanyon-obs": [
|
||||
"goal_src/import/crate-darkeco-cluster-ag.gc",
|
||||
"goal_src/import/spike-ag.gc"
|
||||
],
|
||||
"orbit-plat": [
|
||||
"goal_src/import/orbit-plat-ag.gc",
|
||||
"goal_src/import/orbit-plat-bottom-ag.gc"
|
||||
],
|
||||
"fishermans-boat": [
|
||||
"goal_src/import/evilbro-ag.gc",
|
||||
"goal_src/import/fishermans-boat-ag.gc",
|
||||
"goal_src/import/evilsis-ag.gc"
|
||||
],
|
||||
"driller-lurker": [
|
||||
"goal_src/import/driller-lurker-ag.gc"
|
||||
],
|
||||
"sidekick-human": [
|
||||
"goal_src/import/darkecocan-ag.gc",
|
||||
"goal_src/import/sidekick-human-ag.gc",
|
||||
"goal_src/import/evilbro-ag.gc",
|
||||
"goal_src/import/evilsis-ag.gc"
|
||||
],
|
||||
"misty-conveyor": [
|
||||
"goal_src/import/keg-conveyor-ag.gc",
|
||||
"goal_src/import/keg-conveyor-paddle-ag.gc",
|
||||
"goal_src/import/keg-ag.gc"
|
||||
],
|
||||
"snow-ram-boss": [
|
||||
"goal_src/import/ram-boss-ag.gc"
|
||||
],
|
||||
"junglefish": [
|
||||
"goal_src/import/junglefish-ag.gc"
|
||||
],
|
||||
"swamp-obs": [
|
||||
"goal_src/import/swamp-rock-ag.gc",
|
||||
"goal_src/import/swamp-spike-ag.gc",
|
||||
"goal_src/import/swampcam-ag.gc",
|
||||
"goal_src/import/tar-plat-ag.gc",
|
||||
"goal_src/import/balance-plat-ag.gc"
|
||||
],
|
||||
"snow-bumper": [
|
||||
"goal_src/import/snow-bumper-ag.gc"
|
||||
],
|
||||
"darkcave-obs": [
|
||||
"goal_src/import/cavecrystal-ag.gc"
|
||||
],
|
||||
"junglesnake": [
|
||||
"goal_src/import/junglesnake-ag.gc"
|
||||
],
|
||||
"evilbro": [
|
||||
"goal_src/import/evilbro-ag.gc",
|
||||
"goal_src/import/evilsis-ag.gc"
|
||||
],
|
||||
"bully": [
|
||||
"goal_src/import/bully-ag.gc"
|
||||
],
|
||||
"square-platform": [
|
||||
"goal_src/import/square-platform-ag.gc"
|
||||
],
|
||||
"dark-crystal": [
|
||||
"goal_src/import/dark-crystal-ag.gc"
|
||||
],
|
||||
"sage-village3": [
|
||||
"goal_src/import/evilsis-village3-ag.gc",
|
||||
"goal_src/import/sage-village3-ag.gc",
|
||||
"goal_src/import/evilbro-village3-ag.gc"
|
||||
],
|
||||
"yakow": [
|
||||
"goal_src/import/village1cam-ag.gc",
|
||||
"goal_src/import/yakow-ag.gc"
|
||||
],
|
||||
"plat-button": [
|
||||
"goal_src/import/plat-button-ag.gc"
|
||||
],
|
||||
"hud-classes": [
|
||||
"goal_src/import/fuelcell-naked-ag.gc"
|
||||
],
|
||||
"misty-obs": [
|
||||
"goal_src/import/breakaway-right-ag.gc",
|
||||
"goal_src/import/boatpaddle-ag.gc",
|
||||
"goal_src/import/breakaway-mid-ag.gc",
|
||||
"goal_src/import/mis-bone-platform-ag.gc",
|
||||
"goal_src/import/breakaway-left-ag.gc",
|
||||
"goal_src/import/windturbine-ag.gc",
|
||||
"goal_src/import/mistycam-ag.gc",
|
||||
"goal_src/import/mis-bone-bridge-ag.gc"
|
||||
],
|
||||
"rolling-obs": [
|
||||
"goal_src/import/rollingcam-ag.gc",
|
||||
"goal_src/import/pusher-ag.gc",
|
||||
"goal_src/import/happy-plant-ag.gc",
|
||||
"goal_src/import/dark-plant-ag.gc",
|
||||
"goal_src/import/rolling-start-ag.gc"
|
||||
],
|
||||
"aphid": [
|
||||
"goal_src/import/aphid-lurker-ag.gc"
|
||||
],
|
||||
"plat-eco": [
|
||||
"goal_src/import/plat-eco-ag.gc"
|
||||
],
|
||||
"assistant": [
|
||||
"goal_src/import/assistant-ag.gc"
|
||||
],
|
||||
"flutflut-bluehut": [
|
||||
"goal_src/import/flutflut-bluehut-ag.gc"
|
||||
],
|
||||
"explorer": [
|
||||
"goal_src/import/explorer-ag.gc"
|
||||
],
|
||||
"rolling-lightning-mole": [
|
||||
"goal_src/import/lightning-mole-ag.gc"
|
||||
],
|
||||
"plat": [
|
||||
"goal_src/import/plat-sunken-ag.gc",
|
||||
"goal_src/import/plat-ag.gc",
|
||||
"goal_src/import/plat-jungleb-ag.gc"
|
||||
],
|
||||
"flutflut": [
|
||||
"goal_src/import/flut-saddle-ag.gc"
|
||||
],
|
||||
"training-obs": [
|
||||
"goal_src/import/scarecrow-b-ag.gc",
|
||||
"goal_src/import/pontoonfive-ag.gc",
|
||||
"goal_src/import/trainingcam-ag.gc",
|
||||
"goal_src/import/scarecrow-a-ag.gc",
|
||||
"goal_src/import/jng-iris-door-ag.gc"
|
||||
],
|
||||
"snow-obs": [
|
||||
"goal_src/import/snowcam-ag.gc",
|
||||
"goal_src/import/snow-fort-gate-ag.gc",
|
||||
"goal_src/import/snow-eggtop-ag.gc",
|
||||
"goal_src/import/snow-spatula-ag.gc",
|
||||
"goal_src/import/snow-switch-ag.gc",
|
||||
"goal_src/import/snow-gears-ag.gc",
|
||||
"goal_src/import/snowpusher-ag.gc",
|
||||
"goal_src/import/snow-log-ag.gc"
|
||||
],
|
||||
"citadel-obs": [
|
||||
"goal_src/import/citb-generator-ag.gc",
|
||||
"goal_src/import/citb-launcher-ag.gc",
|
||||
"goal_src/import/citb-button-ag.gc",
|
||||
"goal_src/import/citadelcam-ag.gc",
|
||||
"goal_src/import/citb-hose-ag.gc",
|
||||
"goal_src/import/citb-robotboss-ag.gc",
|
||||
"goal_src/import/citb-coil-ag.gc",
|
||||
"goal_src/import/citb-arm-shoulder-ag.gc",
|
||||
"goal_src/import/citb-iris-door-ag.gc",
|
||||
"goal_src/import/citb-disc-ag.gc",
|
||||
"goal_src/import/citb-arm-ag.gc"
|
||||
],
|
||||
"citadel-sages": [
|
||||
"goal_src/import/green-sagecage-ag.gc",
|
||||
"goal_src/import/yellowsage-ag.gc",
|
||||
"goal_src/import/redsage-ag.gc",
|
||||
"goal_src/import/evilbro-citadel-ag.gc",
|
||||
"goal_src/import/evilsis-citadel-ag.gc",
|
||||
"goal_src/import/citb-sagecage-ag.gc",
|
||||
"goal_src/import/bluesage-ag.gc"
|
||||
],
|
||||
"lurkercrab": [
|
||||
"goal_src/import/lurkercrab-ag.gc"
|
||||
],
|
||||
"muse": [
|
||||
"goal_src/import/muse-ag.gc"
|
||||
],
|
||||
"puffer": [
|
||||
"goal_src/import/puffer-ag.gc"
|
||||
],
|
||||
"robotboss-misc": [
|
||||
"goal_src/import/silodoor-ag.gc",
|
||||
"goal_src/import/ecoclaw-ag.gc",
|
||||
"goal_src/import/finalbosscam-ag.gc"
|
||||
],
|
||||
"sage-finalboss": [
|
||||
"goal_src/import/plat-eco-finalboss-ag.gc",
|
||||
"goal_src/import/green-sagecage-ag.gc",
|
||||
"goal_src/import/jak-white-ag.gc",
|
||||
"goal_src/import/robotboss-cinematic-ag.gc"
|
||||
],
|
||||
"target-racer-h": [
|
||||
"goal_src/import/balloon-ag.gc"
|
||||
],
|
||||
"gambler": [
|
||||
"goal_src/import/gambler-ag.gc"
|
||||
],
|
||||
"lavatube-obs": [
|
||||
"goal_src/import/lavafallsewerb-ag.gc",
|
||||
"goal_src/import/lavashortcut-ag.gc",
|
||||
"goal_src/import/lavabase-ag.gc",
|
||||
"goal_src/import/lavafallsewera-ag.gc",
|
||||
"goal_src/import/chainmine-ag.gc",
|
||||
"goal_src/import/lavafall-ag.gc",
|
||||
"goal_src/import/lavaballoon-ag.gc",
|
||||
"goal_src/import/darkecobarrel-ag.gc",
|
||||
"goal_src/import/lavayellowtarp-ag.gc"
|
||||
],
|
||||
"assistant-firecanyon": [
|
||||
"goal_src/import/assistant-firecanyon-ag.gc"
|
||||
],
|
||||
"sharkey": [
|
||||
"goal_src/import/sharkey-ag.gc"
|
||||
],
|
||||
"bonelurker": [
|
||||
"goal_src/import/bonelurker-ag.gc"
|
||||
],
|
||||
"pelican": [
|
||||
"goal_src/import/pelican-ag.gc"
|
||||
],
|
||||
"warrior": [
|
||||
"goal_src/import/warrior-ag.gc"
|
||||
],
|
||||
"maincave-obs": [
|
||||
"goal_src/import/caveelevator-ag.gc",
|
||||
"goal_src/import/cavespatulatwo-ag.gc",
|
||||
"goal_src/import/cavetrapdoor-ag.gc",
|
||||
"goal_src/import/maincavecam-ag.gc",
|
||||
"goal_src/import/cavecrusher-ag.gc",
|
||||
"goal_src/import/cavespatula-darkcave-ag.gc"
|
||||
],
|
||||
"fisher": [
|
||||
"goal_src/import/fish-net-ag.gc",
|
||||
"goal_src/import/fisher-ag.gc",
|
||||
"goal_src/import/catch-fisha-ag.gc",
|
||||
"goal_src/import/catch-fishb-ag.gc",
|
||||
"goal_src/import/catch-fishc-ag.gc"
|
||||
],
|
||||
"villagep-obs": [
|
||||
"goal_src/import/warp-gate-switch-ag.gc",
|
||||
"goal_src/import/village-cam-ag.gc"
|
||||
],
|
||||
"citb-bunny": [
|
||||
"goal_src/import/citb-bunny-ag.gc"
|
||||
],
|
||||
"flying-lurker": [
|
||||
"goal_src/import/ogrecam-ag.gc",
|
||||
"goal_src/import/plunger-lurker-ag.gc",
|
||||
"goal_src/import/flying-lurker-ag.gc"
|
||||
],
|
||||
"shover": [
|
||||
"goal_src/import/shover-ag.gc"
|
||||
],
|
||||
"ice-cube": [
|
||||
"goal_src/import/ice-cube-ag.gc",
|
||||
"goal_src/import/ice-cube-break-ag.gc"
|
||||
],
|
||||
"baby-spider": [
|
||||
"goal_src/import/baby-spider-ag.gc"
|
||||
],
|
||||
"minecart": [
|
||||
"goal_src/import/minecartsteel-ag.gc"
|
||||
],
|
||||
"bird-lady": [
|
||||
"goal_src/import/bird-lady-ag.gc"
|
||||
],
|
||||
"spider-egg": [
|
||||
"goal_src/import/spider-egg-ag.gc"
|
||||
],
|
||||
"wall-plat": [
|
||||
"goal_src/import/wall-plat-ag.gc"
|
||||
],
|
||||
"oracle": [
|
||||
"goal_src/import/oracle-ag.gc"
|
||||
],
|
||||
"basebutton": [
|
||||
"goal_src/import/generic-button-ag.gc"
|
||||
],
|
||||
"miners": [
|
||||
"goal_src/import/minershort-ag.gc",
|
||||
"goal_src/import/cavegem-ag.gc",
|
||||
"goal_src/import/minertall-ag.gc"
|
||||
],
|
||||
"farmer": [
|
||||
"goal_src/import/farmer-ag.gc"
|
||||
],
|
||||
"rolling-race-ring": [
|
||||
"goal_src/import/race-ring-ag.gc"
|
||||
],
|
||||
"quicksandlurker": [
|
||||
"goal_src/import/quicksandlurker-ag.gc"
|
||||
],
|
||||
"misty-warehouse": [
|
||||
"goal_src/import/silostep-ag.gc",
|
||||
"goal_src/import/rounddoor-ag.gc"
|
||||
],
|
||||
"yeti": [
|
||||
"goal_src/import/yeti-ag.gc"
|
||||
],
|
||||
"hopper": [
|
||||
"goal_src/import/hopper-ag.gc"
|
||||
],
|
||||
"target-death": [
|
||||
"goal_src/import/deathcam-ag.gc"
|
||||
],
|
||||
"spiderwebs": [
|
||||
"goal_src/import/spiderwebs-ag.gc"
|
||||
],
|
||||
"misty-teetertotter": [
|
||||
"goal_src/import/teetertotter-ag.gc"
|
||||
],
|
||||
"village2-obs": [
|
||||
"goal_src/import/pontoonfive-ag.gc",
|
||||
"goal_src/import/allpontoons-ag.gc",
|
||||
"goal_src/import/medres-village2-ag.gc",
|
||||
"goal_src/import/exit-chamber-dummy-ag.gc",
|
||||
"goal_src/import/village2cam-ag.gc",
|
||||
"goal_src/import/fireboulder-ag.gc",
|
||||
"goal_src/import/ogreboss-village2-ag.gc",
|
||||
"goal_src/import/ceilingflag-ag.gc",
|
||||
"goal_src/import/medres-rolling1-ag.gc",
|
||||
"goal_src/import/medres-rolling-ag.gc",
|
||||
"goal_src/import/pontoonten-ag.gc"
|
||||
],
|
||||
"plant-boss": [
|
||||
"goal_src/import/plant-boss-ag.gc"
|
||||
],
|
||||
"snow-bunny": [
|
||||
"goal_src/import/snow-bunny-ag.gc"
|
||||
],
|
||||
"sunken-elevator": [
|
||||
"goal_src/import/sunken-elevator-ag.gc"
|
||||
],
|
||||
"sage": [
|
||||
"goal_src/import/sage-ag.gc"
|
||||
],
|
||||
"robotboss-h": [
|
||||
"goal_src/import/robotboss-ag.gc"
|
||||
],
|
||||
"geologist": [
|
||||
"goal_src/import/geologist-ag.gc"
|
||||
],
|
||||
"village3-obs": [
|
||||
"goal_src/import/medres-ogre-ag.gc",
|
||||
"goal_src/import/medres-finalboss-ag.gc",
|
||||
"goal_src/import/pistons-ag.gc",
|
||||
"goal_src/import/gondola-ag.gc",
|
||||
"goal_src/import/medres-ogre2-ag.gc",
|
||||
"goal_src/import/medres-ogre3-ag.gc",
|
||||
"goal_src/import/gondolacables-ag.gc"
|
||||
],
|
||||
"double-lurker": [
|
||||
"goal_src/import/double-lurker-ag.gc",
|
||||
"goal_src/import/double-lurker-top-ag.gc"
|
||||
],
|
||||
"ogreboss": [
|
||||
"goal_src/import/ogreboss-ag.gc"
|
||||
],
|
||||
"swamp-rat": [
|
||||
"goal_src/import/swamp-rat-ag.gc"
|
||||
],
|
||||
"sculptor": [
|
||||
"goal_src/import/sculptor-muse-ag.gc",
|
||||
"goal_src/import/sculptor-ag.gc"
|
||||
],
|
||||
"seagull": [
|
||||
"goal_src/import/seagull-ag.gc"
|
||||
],
|
||||
"mayor": [
|
||||
"goal_src/import/mayor-ag.gc"
|
||||
],
|
||||
"final-door": [
|
||||
"goal_src/import/power-left-ag.gc",
|
||||
"goal_src/import/power-right-ag.gc",
|
||||
"goal_src/import/powercellalt-ag.gc"
|
||||
],
|
||||
"assistant-lavatube": [
|
||||
"goal_src/import/assistant-lavatube-start-ag.gc"
|
||||
],
|
||||
"launcherdoor": [
|
||||
"goal_src/import/launcherdoor-maincave-ag.gc",
|
||||
"goal_src/import/launcherdoor-ag.gc"
|
||||
],
|
||||
"title-obs": [
|
||||
"goal_src/import/logo-cam-ag.gc",
|
||||
"goal_src/import/logo-black-ag.gc",
|
||||
"goal_src/import/logo-ag.gc",
|
||||
"goal_src/import/logo-volumes-ag.gc",
|
||||
"goal_src/import/ndi-cam-ag.gc",
|
||||
"goal_src/import/ndi-ag.gc",
|
||||
"goal_src/import/ndi-volumes-ag.gc"
|
||||
],
|
||||
"whirlpool": [
|
||||
"goal_src/import/whirlpool-ag.gc"
|
||||
],
|
||||
"lurkerworm": [
|
||||
"goal_src/import/lurkerworm-ag.gc"
|
||||
],
|
||||
"collectables": [
|
||||
"goal_src/import/buzzer-ag.gc",
|
||||
"goal_src/import/ecovalve-ag.gc",
|
||||
"goal_src/import/money-ag.gc",
|
||||
"goal_src/import/fuel-cell-ag.gc"
|
||||
],
|
||||
"water-anim": [
|
||||
"goal_src/import/water-anim-maincave-ag.gc",
|
||||
"goal_src/import/water-anim-village3-ag.gc",
|
||||
"goal_src/import/water-anim-finalboss-ag.gc",
|
||||
"goal_src/import/water-anim-maincave-water-ag.gc",
|
||||
"goal_src/import/water-anim-sunken-ag.gc",
|
||||
"goal_src/import/water-anim-lavatube-ag.gc",
|
||||
"goal_src/import/water-anim-robocave-ag.gc",
|
||||
"goal_src/import/water-anim-jungle-ag.gc",
|
||||
"goal_src/import/water-anim-ogre-ag.gc",
|
||||
"goal_src/import/water-anim-training-ag.gc",
|
||||
"goal_src/import/water-anim-darkcave-ag.gc",
|
||||
"goal_src/import/water-anim-village1-ag.gc",
|
||||
"goal_src/import/water-anim-rolling-ag.gc",
|
||||
"goal_src/import/water-anim-misty-ag.gc",
|
||||
"goal_src/import/water-anim-sunken-dark-eco-ag.gc",
|
||||
"goal_src/import/water-anim-village2-ag.gc"
|
||||
],
|
||||
"ropebridge": [
|
||||
"goal_src/import/vil3-bridge-36-ag.gc",
|
||||
"goal_src/import/ropebridge-36-ag.gc",
|
||||
"goal_src/import/ropebridge-32-ag.gc",
|
||||
"goal_src/import/ropebridge-52-ag.gc",
|
||||
"goal_src/import/snow-bridge-36-ag.gc",
|
||||
"goal_src/import/ropebridge-70-ag.gc"
|
||||
],
|
||||
"robotboss": [
|
||||
"goal_src/import/robotboss-redeco-ag.gc",
|
||||
"goal_src/import/robotboss-blueeco-ag.gc",
|
||||
"goal_src/import/robotboss-yelloweco-ag.gc"
|
||||
],
|
||||
"steam-cap": [
|
||||
"goal_src/import/steam-cap-ag.gc"
|
||||
],
|
||||
"ogre-obs": [
|
||||
"goal_src/import/ogre-step-ag.gc",
|
||||
"goal_src/import/tntbarrel-ag.gc",
|
||||
"goal_src/import/ogre-bridge-ag.gc",
|
||||
"goal_src/import/shortcut-boulder-ag.gc",
|
||||
"goal_src/import/medres-snow-ag.gc",
|
||||
"goal_src/import/ogre-bridgeend-ag.gc",
|
||||
"goal_src/import/ogre-isle-ag.gc"
|
||||
],
|
||||
"assistant-village3": [
|
||||
"goal_src/import/assistant-village3-ag.gc"
|
||||
],
|
||||
"babak": [
|
||||
"goal_src/import/babak-ag.gc"
|
||||
],
|
||||
"lavatube-energy": [
|
||||
"goal_src/import/energyball-ag.gc",
|
||||
"goal_src/import/energybase-ag.gc",
|
||||
"goal_src/import/energyhub-ag.gc",
|
||||
"goal_src/import/energyarm-ag.gc",
|
||||
"goal_src/import/energydoor-ag.gc"
|
||||
],
|
||||
"mother-spider-egg": [
|
||||
"goal_src/import/spider-egg-ag.gc"
|
||||
],
|
||||
"plat-flip": [
|
||||
"goal_src/import/plat-flip-ag.gc"
|
||||
],
|
||||
"assistant-citadel": [
|
||||
"goal_src/import/assistant-lavatube-end-ag.gc"
|
||||
],
|
||||
"bird-lady-beach": [
|
||||
"goal_src/import/bird-lady-beach-ag.gc"
|
||||
],
|
||||
"orb-cache": [
|
||||
"goal_src/import/orb-cache-top-ag.gc"
|
||||
],
|
||||
"robotboss-weapon": [
|
||||
"goal_src/import/darkecobomb-ag.gc",
|
||||
"goal_src/import/greenshot-ag.gc",
|
||||
"goal_src/import/redring-ag.gc"
|
||||
],
|
||||
"citb-plat": [
|
||||
"goal_src/import/citb-exit-plat-ag.gc",
|
||||
"goal_src/import/plat-eco-citb-ag.gc",
|
||||
"goal_src/import/plat-citb-ag.gc",
|
||||
"goal_src/import/citb-stopbox-ag.gc",
|
||||
"goal_src/import/citb-firehose-ag.gc",
|
||||
"goal_src/import/citb-rotatebox-ag.gc",
|
||||
"goal_src/import/citb-chain-plat-ag.gc",
|
||||
"goal_src/import/citb-donut-ag.gc"
|
||||
],
|
||||
"gnawer": [
|
||||
"goal_src/import/gnawer-ag.gc"
|
||||
],
|
||||
"jungleb-obs": [
|
||||
"goal_src/import/eggtop-ag.gc",
|
||||
"goal_src/import/jng-iris-door-ag.gc"
|
||||
],
|
||||
"swamp-rat-nest": [
|
||||
"goal_src/import/swamp-rat-nest-ag.gc"
|
||||
],
|
||||
"wedge-plats": [
|
||||
"goal_src/import/wedge-plat-outer-ag.gc",
|
||||
"goal_src/import/wedge-plat-ag.gc"
|
||||
],
|
||||
"sunken-fish": [
|
||||
"goal_src/import/sunkenfisha-ag.gc"
|
||||
],
|
||||
"sage-bluehut": [
|
||||
"goal_src/import/sage-bluehut-ag.gc"
|
||||
]
|
||||
}
|
||||
@@ -516,10 +516,7 @@ void handle_frag(const std::string& debug_name,
|
||||
* Build OpenGL index list from a single GIF packet.
|
||||
* TODO: should check we aren't putting in x x R x x R
|
||||
*/
|
||||
std::vector<u32> index_list_from_packet(u32 vtx_ptr,
|
||||
u32 nloop,
|
||||
const MercMemory& memory,
|
||||
const std::vector<MercUnpackedVtx>& vertices) {
|
||||
std::vector<u32> index_list_from_packet(u32 vtx_ptr, u32 nloop, const MercMemory& memory) {
|
||||
std::vector<u32> result;
|
||||
u32 prev_vtx = UINT32_MAX;
|
||||
|
||||
@@ -799,7 +796,7 @@ ConvertedMercEffect convert_merc_effect(const MercEffect& input_effect,
|
||||
for (size_t i = first_draw_to_update; i < result.draws.size(); i++) {
|
||||
auto& draw = result.draws[i];
|
||||
draw.indices = index_list_from_packet(draw.vtx_offset, draw.vtx_nloop,
|
||||
merc_memories[memory_buffer_toggle], result.vertices);
|
||||
merc_memories[memory_buffer_toggle]);
|
||||
}
|
||||
|
||||
memory_buffer_toggle ^= 1;
|
||||
|
||||
@@ -1,371 +0,0 @@
|
||||
(defglobalconstant all-import-files
|
||||
(
|
||||
"goal_src/import/fuel-cell-ag.gc"
|
||||
"goal_src/import/money-ag.gc"
|
||||
"goal_src/import/buzzer-ag.gc"
|
||||
"goal_src/import/ecovalve-ag.gc"
|
||||
"goal_src/import/crate-ag.gc"
|
||||
"goal_src/import/speaker-ag.gc"
|
||||
"goal_src/import/fuelcell-naked-ag.gc"
|
||||
"goal_src/import/eichar-ag.gc"
|
||||
"goal_src/import/sidekick-ag.gc"
|
||||
"goal_src/import/deathcam-ag.gc"
|
||||
"goal_src/import/babak-ag.gc"
|
||||
"goal_src/import/barrel-ag.gc"
|
||||
"goal_src/import/beachcam-ag.gc"
|
||||
"goal_src/import/bird-lady-ag.gc"
|
||||
"goal_src/import/bird-lady-beach-ag.gc"
|
||||
"goal_src/import/bladeassm-ag.gc"
|
||||
"goal_src/import/ecoventrock-ag.gc"
|
||||
"goal_src/import/flutflut-ag.gc"
|
||||
"goal_src/import/flutflutegg-ag.gc"
|
||||
"goal_src/import/grottopole-ag.gc"
|
||||
"goal_src/import/harvester-ag.gc"
|
||||
"goal_src/import/kickrock-ag.gc"
|
||||
"goal_src/import/lrocklrg-ag.gc"
|
||||
"goal_src/import/lurkercrab-ag.gc"
|
||||
"goal_src/import/lurkerpuppy-ag.gc"
|
||||
"goal_src/import/lurkerworm-ag.gc"
|
||||
"goal_src/import/mayor-ag.gc"
|
||||
"goal_src/import/mistycannon-ag.gc"
|
||||
"goal_src/import/orb-cache-top-ag.gc"
|
||||
"goal_src/import/pelican-ag.gc"
|
||||
"goal_src/import/sack-ag.gc"
|
||||
"goal_src/import/sculptor-ag.gc"
|
||||
"goal_src/import/sculptor-muse-ag.gc"
|
||||
"goal_src/import/seagull-ag.gc"
|
||||
"goal_src/import/sharkey-ag.gc"
|
||||
"goal_src/import/windmill-one-ag.gc"
|
||||
"goal_src/import/assistant-lavatube-end-ag.gc"
|
||||
"goal_src/import/bluesage-ag.gc"
|
||||
"goal_src/import/citadelcam-ag.gc"
|
||||
"goal_src/import/citb-arm-ag.gc"
|
||||
"goal_src/import/citb-arm-shoulder-ag.gc"
|
||||
"goal_src/import/citb-bunny-ag.gc"
|
||||
"goal_src/import/citb-button-ag.gc"
|
||||
"goal_src/import/citb-chain-plat-ag.gc"
|
||||
"goal_src/import/citb-chains-ag.gc"
|
||||
"goal_src/import/citb-coil-ag.gc"
|
||||
"goal_src/import/citb-disc-ag.gc"
|
||||
"goal_src/import/citb-donut-ag.gc"
|
||||
"goal_src/import/citb-drop-plat-ag.gc"
|
||||
"goal_src/import/citb-exit-plat-ag.gc"
|
||||
"goal_src/import/citb-firehose-ag.gc"
|
||||
"goal_src/import/citb-generator-ag.gc"
|
||||
"goal_src/import/citb-hose-ag.gc"
|
||||
"goal_src/import/citb-iris-door-ag.gc"
|
||||
"goal_src/import/citb-launcher-ag.gc"
|
||||
"goal_src/import/citb-robotboss-ag.gc"
|
||||
"goal_src/import/citb-rotatebox-ag.gc"
|
||||
"goal_src/import/citb-sagecage-ag.gc"
|
||||
"goal_src/import/citb-stopbox-ag.gc"
|
||||
"goal_src/import/evilbro-citadel-ag.gc"
|
||||
"goal_src/import/evilsis-citadel-ag.gc"
|
||||
"goal_src/import/green-sagecage-ag.gc"
|
||||
"goal_src/import/plat-citb-ag.gc"
|
||||
"goal_src/import/plat-eco-citb-ag.gc"
|
||||
"goal_src/import/redsage-ag.gc"
|
||||
"goal_src/import/warp-gate-switch-ag.gc"
|
||||
"goal_src/import/warpgate-ag.gc"
|
||||
"goal_src/import/yellowsage-ag.gc"
|
||||
"goal_src/import/baby-spider-ag.gc"
|
||||
"goal_src/import/cavecrystal-ag.gc"
|
||||
"goal_src/import/caveelevator-ag.gc"
|
||||
"goal_src/import/cavespatula-darkcave-ag.gc"
|
||||
"goal_src/import/cavetrapdoor-ag.gc"
|
||||
"goal_src/import/dark-crystal-ag.gc"
|
||||
"goal_src/import/mother-spider-ag.gc"
|
||||
"goal_src/import/spider-egg-ag.gc"
|
||||
"goal_src/import/water-anim-darkcave-ag.gc"
|
||||
"goal_src/import/darkecobomb-ag.gc"
|
||||
"goal_src/import/ecoclaw-ag.gc"
|
||||
"goal_src/import/finalbosscam-ag.gc"
|
||||
"goal_src/import/green-eco-lurker-ag.gc"
|
||||
"goal_src/import/greenshot-ag.gc"
|
||||
"goal_src/import/jak-white-ag.gc"
|
||||
"goal_src/import/light-eco-ag.gc"
|
||||
"goal_src/import/plat-eco-finalboss-ag.gc"
|
||||
"goal_src/import/power-left-ag.gc"
|
||||
"goal_src/import/power-right-ag.gc"
|
||||
"goal_src/import/powercellalt-ag.gc"
|
||||
"goal_src/import/redring-ag.gc"
|
||||
"goal_src/import/robotboss-ag.gc"
|
||||
"goal_src/import/robotboss-blueeco-ag.gc"
|
||||
"goal_src/import/robotboss-cinematic-ag.gc"
|
||||
"goal_src/import/robotboss-redeco-ag.gc"
|
||||
"goal_src/import/robotboss-yelloweco-ag.gc"
|
||||
"goal_src/import/silodoor-ag.gc"
|
||||
"goal_src/import/water-anim-finalboss-ag.gc"
|
||||
"goal_src/import/evilbro-ag.gc"
|
||||
"goal_src/import/evilsis-ag.gc"
|
||||
"goal_src/import/plant-boss-main+0-ag.gc"
|
||||
"goal_src/import/aphid-lurker-ag.gc"
|
||||
"goal_src/import/darkvine-ag.gc"
|
||||
"goal_src/import/eggtop-ag.gc"
|
||||
"goal_src/import/jng-iris-door-ag.gc"
|
||||
"goal_src/import/plant-boss-ag.gc"
|
||||
"goal_src/import/plat-flip-ag.gc"
|
||||
"goal_src/import/plat-jungleb-ag.gc"
|
||||
"goal_src/import/eichar-fish+0-ag.gc"
|
||||
"goal_src/import/accordian-ag.gc"
|
||||
"goal_src/import/bounceytarp-ag.gc"
|
||||
"goal_src/import/catch-fisha-ag.gc"
|
||||
"goal_src/import/catch-fishb-ag.gc"
|
||||
"goal_src/import/catch-fishc-ag.gc"
|
||||
"goal_src/import/fish-net-ag.gc"
|
||||
"goal_src/import/fisher-ag.gc"
|
||||
"goal_src/import/hopper-ag.gc"
|
||||
"goal_src/import/junglecam-ag.gc"
|
||||
"goal_src/import/junglefish-ag.gc"
|
||||
"goal_src/import/junglesnake-ag.gc"
|
||||
"goal_src/import/launcherdoor-ag.gc"
|
||||
"goal_src/import/logtrap-ag.gc"
|
||||
"goal_src/import/lurkerm-piston-ag.gc"
|
||||
"goal_src/import/lurkerm-tall-sail-ag.gc"
|
||||
"goal_src/import/maindoor-ag.gc"
|
||||
"goal_src/import/medres-firecanyon-ag.gc"
|
||||
"goal_src/import/periscope-ag.gc"
|
||||
"goal_src/import/plat-button-ag.gc"
|
||||
"goal_src/import/plat-eco-ag.gc"
|
||||
"goal_src/import/precurbridge-ag.gc"
|
||||
"goal_src/import/reflector-mirror-ag.gc"
|
||||
"goal_src/import/ropebridge-52-ag.gc"
|
||||
"goal_src/import/ropebridge-70-ag.gc"
|
||||
"goal_src/import/sidedoor-ag.gc"
|
||||
"goal_src/import/towertop-ag.gc"
|
||||
"goal_src/import/water-anim-jungle-ag.gc"
|
||||
"goal_src/import/eichar-racer+0-ag.gc"
|
||||
"goal_src/import/eichar-flut+0-ag.gc"
|
||||
"goal_src/import/eichar-tube+0-ag.gc"
|
||||
"goal_src/import/eichar-pole+0-ag.gc"
|
||||
"goal_src/import/eichar-ice+0-ag.gc"
|
||||
"goal_src/import/assistant-firecanyon-ag.gc"
|
||||
"goal_src/import/balloon-ag.gc"
|
||||
"goal_src/import/crate-darkeco-cluster-ag.gc"
|
||||
"goal_src/import/ef-plane-ag.gc"
|
||||
"goal_src/import/racer-ag.gc"
|
||||
"goal_src/import/spike-ag.gc"
|
||||
"goal_src/import/assistant-lavatube-start-ag.gc"
|
||||
"goal_src/import/chainmine-ag.gc"
|
||||
"goal_src/import/darkecobarrel-ag.gc"
|
||||
"goal_src/import/energyarm-ag.gc"
|
||||
"goal_src/import/energyball-ag.gc"
|
||||
"goal_src/import/energybase-ag.gc"
|
||||
"goal_src/import/energydoor-ag.gc"
|
||||
"goal_src/import/energyhub-ag.gc"
|
||||
"goal_src/import/lavaballoon-ag.gc"
|
||||
"goal_src/import/lavabase-ag.gc"
|
||||
"goal_src/import/lavafall-ag.gc"
|
||||
"goal_src/import/lavafallsewera-ag.gc"
|
||||
"goal_src/import/lavafallsewerb-ag.gc"
|
||||
"goal_src/import/lavashortcut-ag.gc"
|
||||
"goal_src/import/lavayellowtarp-ag.gc"
|
||||
"goal_src/import/water-anim-lavatube-ag.gc"
|
||||
"goal_src/import/driller-lurker-ag.gc"
|
||||
"goal_src/import/gnawer-ag.gc"
|
||||
"goal_src/import/launcherdoor-maincave-ag.gc"
|
||||
"goal_src/import/maincavecam-ag.gc"
|
||||
"goal_src/import/plat-ag.gc"
|
||||
"goal_src/import/spiderwebs-ag.gc"
|
||||
"goal_src/import/water-anim-maincave-ag.gc"
|
||||
"goal_src/import/water-anim-maincave-water-ag.gc"
|
||||
"goal_src/import/balloonlurker-ag.gc"
|
||||
"goal_src/import/boatpaddle-ag.gc"
|
||||
"goal_src/import/bonelurker-ag.gc"
|
||||
"goal_src/import/breakaway-left-ag.gc"
|
||||
"goal_src/import/breakaway-mid-ag.gc"
|
||||
"goal_src/import/breakaway-right-ag.gc"
|
||||
"goal_src/import/darkecocan-ag.gc"
|
||||
"goal_src/import/keg-ag.gc"
|
||||
"goal_src/import/keg-conveyor-ag.gc"
|
||||
"goal_src/import/keg-conveyor-paddle-ag.gc"
|
||||
"goal_src/import/mis-bone-bridge-ag.gc"
|
||||
"goal_src/import/mis-bone-platform-ag.gc"
|
||||
"goal_src/import/mistycam-ag.gc"
|
||||
"goal_src/import/muse-ag.gc"
|
||||
"goal_src/import/quicksandlurker-ag.gc"
|
||||
"goal_src/import/ropebridge-36-ag.gc"
|
||||
"goal_src/import/rounddoor-ag.gc"
|
||||
"goal_src/import/sidekick-human-ag.gc"
|
||||
"goal_src/import/silostep-ag.gc"
|
||||
"goal_src/import/teetertotter-ag.gc"
|
||||
"goal_src/import/water-anim-misty-ag.gc"
|
||||
"goal_src/import/wheel-ag.gc"
|
||||
"goal_src/import/windturbine-ag.gc"
|
||||
"goal_src/import/flying-lurker-ag.gc"
|
||||
"goal_src/import/medres-snow-ag.gc"
|
||||
"goal_src/import/ogre-bridge-ag.gc"
|
||||
"goal_src/import/ogre-bridgeend-ag.gc"
|
||||
"goal_src/import/ogre-isle-ag.gc"
|
||||
"goal_src/import/ogre-step-ag.gc"
|
||||
"goal_src/import/ogreboss-ag.gc"
|
||||
"goal_src/import/ogrecam-ag.gc"
|
||||
"goal_src/import/plunger-lurker-ag.gc"
|
||||
"goal_src/import/shortcut-boulder-ag.gc"
|
||||
"goal_src/import/tntbarrel-ag.gc"
|
||||
"goal_src/import/water-anim-ogre-ag.gc"
|
||||
"goal_src/import/cavecrusher-ag.gc"
|
||||
"goal_src/import/cavespatulatwo-ag.gc"
|
||||
"goal_src/import/water-anim-robocave-ag.gc"
|
||||
"goal_src/import/dark-plant-ag.gc"
|
||||
"goal_src/import/happy-plant-ag.gc"
|
||||
"goal_src/import/lightning-mole-ag.gc"
|
||||
"goal_src/import/pusher-ag.gc"
|
||||
"goal_src/import/race-ring-ag.gc"
|
||||
"goal_src/import/robber-ag.gc"
|
||||
"goal_src/import/rolling-start-ag.gc"
|
||||
"goal_src/import/rollingcam-ag.gc"
|
||||
"goal_src/import/water-anim-rolling-ag.gc"
|
||||
"goal_src/import/flut-saddle-ag.gc"
|
||||
"goal_src/import/flutflut-plat-large-ag.gc"
|
||||
"goal_src/import/flutflut-plat-med-ag.gc"
|
||||
"goal_src/import/flutflut-plat-small-ag.gc"
|
||||
"goal_src/import/ice-cube-ag.gc"
|
||||
"goal_src/import/ice-cube-break-ag.gc"
|
||||
"goal_src/import/ram-ag.gc"
|
||||
"goal_src/import/ram-boss-ag.gc"
|
||||
"goal_src/import/snow-ball-ag.gc"
|
||||
"goal_src/import/snow-bridge-36-ag.gc"
|
||||
"goal_src/import/snow-bumper-ag.gc"
|
||||
"goal_src/import/snow-bunny-ag.gc"
|
||||
"goal_src/import/snow-button-ag.gc"
|
||||
"goal_src/import/snow-eggtop-ag.gc"
|
||||
"goal_src/import/snow-fort-gate-ag.gc"
|
||||
"goal_src/import/snow-gears-ag.gc"
|
||||
"goal_src/import/snow-log-ag.gc"
|
||||
"goal_src/import/snow-spatula-ag.gc"
|
||||
"goal_src/import/snow-switch-ag.gc"
|
||||
"goal_src/import/snowcam-ag.gc"
|
||||
"goal_src/import/snowpusher-ag.gc"
|
||||
"goal_src/import/yeti-ag.gc"
|
||||
"goal_src/import/blue-eco-charger-ag.gc"
|
||||
"goal_src/import/blue-eco-charger-orb-ag.gc"
|
||||
"goal_src/import/bully-ag.gc"
|
||||
"goal_src/import/floating-launcher-ag.gc"
|
||||
"goal_src/import/helix-button-ag.gc"
|
||||
"goal_src/import/helix-slide-door-ag.gc"
|
||||
"goal_src/import/shover-ag.gc"
|
||||
"goal_src/import/steam-cap-ag.gc"
|
||||
"goal_src/import/sunkencam-ag.gc"
|
||||
"goal_src/import/sunkenfisha-ag.gc"
|
||||
"goal_src/import/wall-plat-ag.gc"
|
||||
"goal_src/import/water-anim-sunken-ag.gc"
|
||||
"goal_src/import/water-anim-sunken-dark-eco-ag.gc"
|
||||
"goal_src/import/double-lurker-ag.gc"
|
||||
"goal_src/import/double-lurker-top-ag.gc"
|
||||
"goal_src/import/exit-chamber-ag.gc"
|
||||
"goal_src/import/generic-button-ag.gc"
|
||||
"goal_src/import/orbit-plat-ag.gc"
|
||||
"goal_src/import/orbit-plat-bottom-ag.gc"
|
||||
"goal_src/import/plat-sunken-ag.gc"
|
||||
"goal_src/import/puffer-ag.gc"
|
||||
"goal_src/import/qbert-plat-ag.gc"
|
||||
"goal_src/import/qbert-plat-on-ag.gc"
|
||||
"goal_src/import/seaweed-ag.gc"
|
||||
"goal_src/import/side-to-side-plat-ag.gc"
|
||||
"goal_src/import/square-platform-ag.gc"
|
||||
"goal_src/import/sun-iris-door-ag.gc"
|
||||
"goal_src/import/wedge-plat-ag.gc"
|
||||
"goal_src/import/wedge-plat-outer-ag.gc"
|
||||
"goal_src/import/whirlpool-ag.gc"
|
||||
"goal_src/import/balance-plat-ag.gc"
|
||||
"goal_src/import/billy-ag.gc"
|
||||
"goal_src/import/billy-sidekick-ag.gc"
|
||||
"goal_src/import/farthy-snack-ag.gc"
|
||||
"goal_src/import/kermit-ag.gc"
|
||||
"goal_src/import/swamp-bat-ag.gc"
|
||||
"goal_src/import/swamp-rat-ag.gc"
|
||||
"goal_src/import/swamp-rat-nest-ag.gc"
|
||||
"goal_src/import/swamp-rock-ag.gc"
|
||||
"goal_src/import/swamp-spike-ag.gc"
|
||||
"goal_src/import/swampcam-ag.gc"
|
||||
"goal_src/import/tar-plat-ag.gc"
|
||||
"goal_src/import/logo-ag.gc"
|
||||
"goal_src/import/logo-black-ag.gc"
|
||||
"goal_src/import/logo-cam-ag.gc"
|
||||
"goal_src/import/logo-volumes-ag.gc"
|
||||
"goal_src/import/ndi-ag.gc"
|
||||
"goal_src/import/ndi-cam-ag.gc"
|
||||
"goal_src/import/ndi-volumes-ag.gc"
|
||||
"goal_src/import/pontoonfive-ag.gc"
|
||||
"goal_src/import/scarecrow-a-ag.gc"
|
||||
"goal_src/import/scarecrow-b-ag.gc"
|
||||
"goal_src/import/trainingcam-ag.gc"
|
||||
"goal_src/import/water-anim-training-ag.gc"
|
||||
"goal_src/import/assistant-ag.gc"
|
||||
"goal_src/import/evilplant-ag.gc"
|
||||
"goal_src/import/explorer-ag.gc"
|
||||
"goal_src/import/farmer-ag.gc"
|
||||
"goal_src/import/fishermans-boat-ag.gc"
|
||||
"goal_src/import/hutlamp-ag.gc"
|
||||
"goal_src/import/mayorgears-ag.gc"
|
||||
"goal_src/import/medres-beach-ag.gc"
|
||||
"goal_src/import/medres-beach1-ag.gc"
|
||||
"goal_src/import/medres-beach2-ag.gc"
|
||||
"goal_src/import/medres-beach3-ag.gc"
|
||||
"goal_src/import/medres-jungle-ag.gc"
|
||||
"goal_src/import/medres-jungle1-ag.gc"
|
||||
"goal_src/import/medres-jungle2-ag.gc"
|
||||
"goal_src/import/medres-misty-ag.gc"
|
||||
"goal_src/import/medres-training-ag.gc"
|
||||
"goal_src/import/medres-village11-ag.gc"
|
||||
"goal_src/import/medres-village12-ag.gc"
|
||||
"goal_src/import/medres-village13-ag.gc"
|
||||
"goal_src/import/oracle-ag.gc"
|
||||
"goal_src/import/reflector-middle-ag.gc"
|
||||
"goal_src/import/revcycle-ag.gc"
|
||||
"goal_src/import/revcycleprop-ag.gc"
|
||||
"goal_src/import/ropebridge-32-ag.gc"
|
||||
"goal_src/import/sage-ag.gc"
|
||||
"goal_src/import/sagesail-ag.gc"
|
||||
"goal_src/import/villa-starfish-ag.gc"
|
||||
"goal_src/import/village-cam-ag.gc"
|
||||
"goal_src/import/village1cam-ag.gc"
|
||||
"goal_src/import/water-anim-village1-ag.gc"
|
||||
"goal_src/import/windmill-sail-ag.gc"
|
||||
"goal_src/import/windspinner-ag.gc"
|
||||
"goal_src/import/yakow-ag.gc"
|
||||
"goal_src/import/allpontoons-ag.gc"
|
||||
"goal_src/import/assistant-village2-ag.gc"
|
||||
"goal_src/import/ceilingflag-ag.gc"
|
||||
"goal_src/import/exit-chamber-dummy-ag.gc"
|
||||
"goal_src/import/fireboulder-ag.gc"
|
||||
"goal_src/import/flutflut-bluehut-ag.gc"
|
||||
"goal_src/import/gambler-ag.gc"
|
||||
"goal_src/import/geologist-ag.gc"
|
||||
"goal_src/import/jaws-ag.gc"
|
||||
"goal_src/import/medres-rolling-ag.gc"
|
||||
"goal_src/import/medres-rolling1-ag.gc"
|
||||
"goal_src/import/medres-village2-ag.gc"
|
||||
"goal_src/import/ogreboss-village2-ag.gc"
|
||||
"goal_src/import/pontoonten-ag.gc"
|
||||
"goal_src/import/precursor-arm-ag.gc"
|
||||
"goal_src/import/sage-bluehut-ag.gc"
|
||||
"goal_src/import/sunken-elevator-ag.gc"
|
||||
"goal_src/import/swamp-blimp-ag.gc"
|
||||
"goal_src/import/swamp-rope-ag.gc"
|
||||
"goal_src/import/swamp-tetherrock-ag.gc"
|
||||
"goal_src/import/swamp-tetherrock-explode-ag.gc"
|
||||
"goal_src/import/village2cam-ag.gc"
|
||||
"goal_src/import/warrior-ag.gc"
|
||||
"goal_src/import/water-anim-village2-ag.gc"
|
||||
"goal_src/import/assistant-village3-ag.gc"
|
||||
"goal_src/import/cavegem-ag.gc"
|
||||
"goal_src/import/evilbro-village3-ag.gc"
|
||||
"goal_src/import/evilsis-village3-ag.gc"
|
||||
"goal_src/import/gondola-ag.gc"
|
||||
"goal_src/import/gondolacables-ag.gc"
|
||||
"goal_src/import/lavaspoutdrip-ag.gc"
|
||||
"goal_src/import/medres-finalboss-ag.gc"
|
||||
"goal_src/import/medres-ogre-ag.gc"
|
||||
"goal_src/import/medres-ogre2-ag.gc"
|
||||
"goal_src/import/medres-ogre3-ag.gc"
|
||||
"goal_src/import/minecartsteel-ag.gc"
|
||||
"goal_src/import/minershort-ag.gc"
|
||||
"goal_src/import/minertall-ag.gc"
|
||||
"goal_src/import/pistons-ag.gc"
|
||||
"goal_src/import/sage-village3-ag.gc"
|
||||
"goal_src/import/vil3-bridge-36-ag.gc"
|
||||
"goal_src/import/water-anim-village3-ag.gc"
|
||||
)
|
||||
)
|
||||
@@ -21,6 +21,10 @@
|
||||
)
|
||||
|
||||
;; DECOMP BEGINS
|
||||
(import "goal_src/import/money-ag.gc")
|
||||
(import "goal_src/import/ecovalve-ag.gc")
|
||||
(import "goal_src/import/buzzer-ag.gc")
|
||||
(import "goal_src/import/fuel-cell-ag.gc")
|
||||
|
||||
(define *eco-pill-count* 0)
|
||||
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
(declare-type crate-buzzer crate)
|
||||
|
||||
;; DECOMP BEGINS
|
||||
(import "goal_src/import/crate-ag.gc")
|
||||
|
||||
(defskelgroup *crate-barrel-sg* crate crate-barrel-lod0-jg crate-barrel-idle-ja
|
||||
((crate-barrel-lod0-mg (meters 20)) (crate-barrel-lod1-mg (meters 40)) (crate-barrel-lod2-mg (meters 999999)))
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
|
||||
|
||||
;; DECOMP BEGINS
|
||||
(import "goal_src/import/speaker-ag.gc")
|
||||
|
||||
(deftype camera-voicebox (camera-slave)
|
||||
()
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
(load-art-import sidekick)
|
||||
|
||||
;; DECOMP BEGINS
|
||||
(import "goal_src/import/sidekick-ag.gc")
|
||||
|
||||
(define *sidekick-remap* '(("run-to-stance-left" "run-to-stance")
|
||||
("run-to-stance-loop-left" "run-to-stance-loop")
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
;; dgos: GAME, ENGINE
|
||||
|
||||
;; DECOMP BEGINS
|
||||
(import "goal_src/import/deathcam-ag.gc")
|
||||
|
||||
(defskelgroup *deathcam-sg* deathcam deathcam-lod0-jg deathcam-idle-ja
|
||||
((deathcam-lod0-mg (meters 999999)))
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
(define-extern target-collide-set! (function symbol float int :behavior target))
|
||||
|
||||
;; DECOMP BEGINS
|
||||
(import "goal_src/import/eichar-ag.gc")
|
||||
|
||||
(defskelgroup *jchar-sg* eichar eichar-lod0-jg -1
|
||||
((eichar-lod0-mg (meters 999999)))
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
;; dgos: GAME, ENGINE
|
||||
|
||||
;; DECOMP BEGINS
|
||||
(import "goal_src/import/fuelcell-naked-ag.gc")
|
||||
|
||||
(defpartgroup group-part-hud-pickup
|
||||
:id 75
|
||||
|
||||
@@ -5,9 +5,6 @@
|
||||
;; OTHER STUFF
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
;; get list of all goal import files
|
||||
(asm-file "goal_src/build/all_imports.gc")
|
||||
|
||||
;; tell compiler about stuff defined/implemented in the runtime.
|
||||
(asm-file "goal_src/kernel-defs.gc")
|
||||
|
||||
@@ -94,6 +91,10 @@
|
||||
)
|
||||
)
|
||||
|
||||
(defmacro import (file-name)
|
||||
`(asm-file ,file-name :no-code)
|
||||
)
|
||||
|
||||
;; enum for text file encoding versions
|
||||
(defenum game-text-version
|
||||
(jak1-v1 10)
|
||||
@@ -1003,7 +1004,7 @@
|
||||
|
||||
(defmacro def-art-elt (group name idx)
|
||||
"define a new art element. adds it to a global map stored in goos."
|
||||
|
||||
|
||||
;; grab data about the art group
|
||||
(let* ((group-string (symbol->string group))
|
||||
(name-string (symbol->string name))
|
||||
@@ -1038,8 +1039,3 @@
|
||||
|
||||
;; load the default project
|
||||
(load-project "goal_src/game.gp")
|
||||
(seval (fmt #t "Loading imports...\n"))
|
||||
(load-imports)
|
||||
(seval (fmt #t "Loaded imports. Have a nice day.\n"))
|
||||
|
||||
|
||||
|
||||
@@ -8,6 +8,15 @@
|
||||
(define-extern spawn-flying-rock (function vector vector float entity none))
|
||||
|
||||
;; DECOMP BEGINS
|
||||
(import "goal_src/import/ecoventrock-ag.gc")
|
||||
(import "goal_src/import/windmill-one-ag.gc")
|
||||
(import "goal_src/import/kickrock-ag.gc")
|
||||
(import "goal_src/import/flutflutegg-ag.gc")
|
||||
(import "goal_src/import/flutflut-ag.gc")
|
||||
(import "goal_src/import/bladeassm-ag.gc")
|
||||
(import "goal_src/import/harvester-ag.gc")
|
||||
(import "goal_src/import/grottopole-ag.gc")
|
||||
(import "goal_src/import/beachcam-ag.gc")
|
||||
|
||||
(defskelgroup *beachcam-sg* beachcam beachcam-lod0-jg beachcam-anim-ja
|
||||
((beachcam-lod0-mg (meters 999999)))
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
;; dgos: BEA, L1
|
||||
|
||||
;; DECOMP BEGINS
|
||||
(import "goal_src/import/lrocklrg-ag.gc")
|
||||
|
||||
(defskelgroup *lrocklrg-sg* lrocklrg lrocklrg-lod0-jg lrocklrg-idle-ja
|
||||
((lrocklrg-lod0-mg (meters 999999)))
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
;; dgos: BEA, L1
|
||||
|
||||
;; DECOMP BEGINS
|
||||
(import "goal_src/import/bird-lady-beach-ag.gc")
|
||||
|
||||
(deftype bird-lady-beach (process-taskable)
|
||||
((flutflut handle :offset-assert 384)
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
;; dgos: BEA, L1
|
||||
|
||||
;; DECOMP BEGINS
|
||||
(import "goal_src/import/bird-lady-ag.gc")
|
||||
|
||||
(deftype bird-lady (process-taskable)
|
||||
()
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
;; dgos: BEA, L1
|
||||
|
||||
;; DECOMP BEGINS
|
||||
(import "goal_src/import/lurkercrab-ag.gc")
|
||||
|
||||
(defpartgroup group-lurkercrab-slide
|
||||
:id 159
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
;; dgos: BEA, L1
|
||||
|
||||
;; DECOMP BEGINS
|
||||
(import "goal_src/import/lurkerpuppy-ag.gc")
|
||||
|
||||
(deftype lurkerpuppy (nav-enemy)
|
||||
()
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
;; dgos: BEA, L1
|
||||
|
||||
;; DECOMP BEGINS
|
||||
(import "goal_src/import/lurkerworm-ag.gc")
|
||||
|
||||
(deftype lurkerworm (process-drawable)
|
||||
((root-override collide-shape-moving :offset 112)
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
;; dgos: BEA, L1
|
||||
|
||||
;; DECOMP BEGINS
|
||||
(import "goal_src/import/mayor-ag.gc")
|
||||
|
||||
(deftype mayor (process-taskable)
|
||||
()
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
;; dgos: BEA, L1
|
||||
|
||||
;; DECOMP BEGINS
|
||||
(import "goal_src/import/pelican-ag.gc")
|
||||
|
||||
(deftype pelican-bank (basic)
|
||||
((circle-speed meters :offset-assert 4)
|
||||
|
||||
@@ -7,6 +7,8 @@
|
||||
(declare-type muse nav-enemy)
|
||||
|
||||
;; DECOMP BEGINS
|
||||
(import "goal_src/import/sculptor-ag.gc")
|
||||
(import "goal_src/import/sculptor-muse-ag.gc")
|
||||
|
||||
(deftype sculptor (process-taskable)
|
||||
((muse handle :offset-assert 384)
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
(declare-type seagullflock process)
|
||||
|
||||
;; DECOMP BEGINS
|
||||
(import "goal_src/import/seagull-ag.gc")
|
||||
|
||||
(defpartgroup group-seagull-takeoff
|
||||
:id 160
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
;; dgos: CIT, L1
|
||||
|
||||
;; DECOMP BEGINS
|
||||
(import "goal_src/import/assistant-lavatube-end-ag.gc")
|
||||
|
||||
(deftype assistant-lavatube-end (process-taskable)
|
||||
()
|
||||
|
||||
@@ -6,6 +6,17 @@
|
||||
;; dgos: CIT, L1
|
||||
|
||||
;; DECOMP BEGINS
|
||||
(import "goal_src/import/citb-disc-ag.gc")
|
||||
(import "goal_src/import/citb-arm-ag.gc")
|
||||
(import "goal_src/import/citb-arm-shoulder-ag.gc")
|
||||
(import "goal_src/import/citb-iris-door-ag.gc")
|
||||
(import "goal_src/import/citb-launcher-ag.gc")
|
||||
(import "goal_src/import/citb-hose-ag.gc")
|
||||
(import "goal_src/import/citb-coil-ag.gc")
|
||||
(import "goal_src/import/citadelcam-ag.gc")
|
||||
(import "goal_src/import/citb-button-ag.gc")
|
||||
(import "goal_src/import/citb-generator-ag.gc")
|
||||
(import "goal_src/import/citb-robotboss-ag.gc")
|
||||
|
||||
(deftype citb-arm-section (process-drawable)
|
||||
((sync sync-info :inline :offset-assert 176)
|
||||
|
||||
@@ -10,6 +10,13 @@
|
||||
(declare-type citb-sage process-taskable)
|
||||
|
||||
;; DECOMP BEGINS
|
||||
(import "goal_src/import/evilbro-citadel-ag.gc")
|
||||
(import "goal_src/import/evilsis-citadel-ag.gc")
|
||||
(import "goal_src/import/yellowsage-ag.gc")
|
||||
(import "goal_src/import/citb-sagecage-ag.gc")
|
||||
(import "goal_src/import/redsage-ag.gc")
|
||||
(import "goal_src/import/green-sagecage-ag.gc")
|
||||
(import "goal_src/import/bluesage-ag.gc")
|
||||
|
||||
(defskelgroup *citb-sagecage-sg* citb-sagecage citb-sagecage-lod0-jg citb-sagecage-redsage-idle-ja
|
||||
((citb-sagecage-lod0-mg (meters 20)) (citb-sagecage-lod1-mg (meters 999999)))
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
(define-extern *citb-bunny-sg* skeleton-group)
|
||||
|
||||
;; DECOMP BEGINS
|
||||
(import "goal_src/import/citb-bunny-ag.gc")
|
||||
|
||||
(deftype citb-bunny (snow-bunny)
|
||||
()
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
;; dgos: CIT
|
||||
|
||||
;; DECOMP BEGINS
|
||||
(import "goal_src/import/citb-drop-plat-ag.gc")
|
||||
|
||||
(defskelgroup *citb-drop-plat-sg* citb-drop-plat citb-drop-plat-lod0-jg citb-drop-plat-idle-ja
|
||||
((citb-drop-plat-lod0-mg (meters 20)) (citb-drop-plat-lod1-mg (meters 999999)))
|
||||
|
||||
@@ -22,6 +22,14 @@
|
||||
|
||||
|
||||
;; DECOMP BEGINS
|
||||
(import "goal_src/import/citb-stopbox-ag.gc")
|
||||
(import "goal_src/import/plat-eco-citb-ag.gc")
|
||||
(import "goal_src/import/citb-firehose-ag.gc")
|
||||
(import "goal_src/import/citb-donut-ag.gc")
|
||||
(import "goal_src/import/citb-exit-plat-ag.gc")
|
||||
(import "goal_src/import/citb-chain-plat-ag.gc")
|
||||
(import "goal_src/import/plat-citb-ag.gc")
|
||||
(import "goal_src/import/citb-rotatebox-ag.gc")
|
||||
|
||||
(defskelgroup *plat-citb-sg* plat-citb plat-citb-lod0-jg plat-citb-idle-ja
|
||||
((plat-citb-lod0-mg (meters 20)) (plat-citb-lod1-mg (meters 999999)))
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
;; dgos: GAME, COMMON, L1
|
||||
|
||||
;; DECOMP BEGINS
|
||||
(import "goal_src/import/babak-ag.gc")
|
||||
|
||||
(deftype babak (nav-enemy)
|
||||
()
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
|
||||
|
||||
;; DECOMP BEGINS
|
||||
(import "goal_src/import/generic-button-ag.gc")
|
||||
|
||||
(deftype basebutton (process-drawable)
|
||||
((root-override collide-shape-moving :offset 112)
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
;; dgos: L1, FIC, LAV, MIS, OGR, RACERP, ROL, SNO, SWA
|
||||
|
||||
;; DECOMP BEGINS
|
||||
(import "goal_src/import/ef-plane-ag.gc")
|
||||
|
||||
(deftype blocking-plane (process-drawable)
|
||||
()
|
||||
|
||||
@@ -12,6 +12,8 @@
|
||||
|
||||
|
||||
;; DECOMP BEGINS
|
||||
(import "goal_src/import/launcherdoor-maincave-ag.gc")
|
||||
(import "goal_src/import/launcherdoor-ag.gc")
|
||||
|
||||
(deftype launcherdoor (process-drawable)
|
||||
((root-override collide-shape :offset 112)
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
;; dgos: GAME, COMMON, L1
|
||||
|
||||
;; DECOMP BEGINS
|
||||
(import "goal_src/import/orb-cache-top-ag.gc")
|
||||
|
||||
(deftype orb-cache-top (baseplat)
|
||||
((active-distance float :offset-assert 228)
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
;; dgos: GAME, COMMON, L1
|
||||
|
||||
;; DECOMP BEGINS
|
||||
(import "goal_src/import/plat-button-ag.gc")
|
||||
|
||||
(deftype plat-button (process-drawable)
|
||||
((root-override collide-shape-moving :offset 112)
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
;; dgos: GAME, COMMON, L1
|
||||
|
||||
;; DECOMP BEGINS
|
||||
(import "goal_src/import/plat-eco-ag.gc")
|
||||
|
||||
(deftype plat-eco (plat)
|
||||
((notice-dist float :offset-assert 264)
|
||||
|
||||
@@ -6,6 +6,9 @@
|
||||
;; dgos: GAME, COMMON, L1
|
||||
|
||||
;; DECOMP BEGINS
|
||||
(import "goal_src/import/plat-jungleb-ag.gc")
|
||||
(import "goal_src/import/plat-ag.gc")
|
||||
(import "goal_src/import/plat-sunken-ag.gc")
|
||||
|
||||
(defpartgroup group-standard-plat
|
||||
:id 107
|
||||
|
||||
@@ -6,6 +6,12 @@
|
||||
;; dgos: GAME, COMMON, L1
|
||||
|
||||
;; DECOMP BEGINS
|
||||
(import "goal_src/import/ropebridge-36-ag.gc")
|
||||
(import "goal_src/import/ropebridge-70-ag.gc")
|
||||
(import "goal_src/import/snow-bridge-36-ag.gc")
|
||||
(import "goal_src/import/ropebridge-32-ag.gc")
|
||||
(import "goal_src/import/ropebridge-52-ag.gc")
|
||||
(import "goal_src/import/vil3-bridge-36-ag.gc")
|
||||
|
||||
(deftype ropebridge-tuning (structure)
|
||||
((num-springs int32 :offset-assert 0)
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
;; dgos: GAME, COMMON, L1
|
||||
|
||||
;; DECOMP BEGINS
|
||||
(import "goal_src/import/sharkey-ag.gc")
|
||||
|
||||
(defpartgroup group-sharkey-splash
|
||||
:id 106
|
||||
|
||||
@@ -6,6 +6,22 @@
|
||||
;; dgos: GAME, COMMON, L1, WATER-AN
|
||||
|
||||
;; DECOMP BEGINS
|
||||
(import "goal_src/import/water-anim-sunken-ag.gc")
|
||||
(import "goal_src/import/water-anim-jungle-ag.gc")
|
||||
(import "goal_src/import/water-anim-village2-ag.gc")
|
||||
(import "goal_src/import/water-anim-darkcave-ag.gc")
|
||||
(import "goal_src/import/water-anim-maincave-water-ag.gc")
|
||||
(import "goal_src/import/water-anim-finalboss-ag.gc")
|
||||
(import "goal_src/import/water-anim-rolling-ag.gc")
|
||||
(import "goal_src/import/water-anim-village1-ag.gc")
|
||||
(import "goal_src/import/water-anim-village3-ag.gc")
|
||||
(import "goal_src/import/water-anim-maincave-ag.gc")
|
||||
(import "goal_src/import/water-anim-robocave-ag.gc")
|
||||
(import "goal_src/import/water-anim-misty-ag.gc")
|
||||
(import "goal_src/import/water-anim-training-ag.gc")
|
||||
(import "goal_src/import/water-anim-lavatube-ag.gc")
|
||||
(import "goal_src/import/water-anim-ogre-ag.gc")
|
||||
(import "goal_src/import/water-anim-sunken-dark-eco-ag.gc")
|
||||
|
||||
(deftype water-anim (water-vol)
|
||||
((ppointer-water-anim (pointer water-anim) :offset 24)
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
; (define-extern *cavecrystal-sg* skeleton-group)
|
||||
|
||||
;; DECOMP BEGINS
|
||||
(import "goal_src/import/cavecrystal-ag.gc")
|
||||
|
||||
(deftype cavecrystal (process-drawable)
|
||||
((root-override collide-shape :offset 112)
|
||||
|
||||
@@ -8,6 +8,9 @@
|
||||
(define-extern power-left type)
|
||||
|
||||
;; DECOMP BEGINS
|
||||
(import "goal_src/import/power-left-ag.gc")
|
||||
(import "goal_src/import/powercellalt-ag.gc")
|
||||
(import "goal_src/import/power-right-ag.gc")
|
||||
|
||||
(deftype fin-door (process-hidden)
|
||||
()
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
;; dgos: FIN, L1
|
||||
|
||||
;; DECOMP BEGINS
|
||||
(import "goal_src/import/green-eco-lurker-ag.gc")
|
||||
|
||||
(deftype green-eco-lurker (nav-enemy)
|
||||
((played-sound? symbol :offset-assert 400)
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
;; dgos: FIN, L1
|
||||
|
||||
;; DECOMP BEGINS
|
||||
(import "goal_src/import/light-eco-ag.gc")
|
||||
|
||||
(deftype light-eco-child (process-drawable)
|
||||
((root-override collide-shape :offset 112)
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
;; dgos: FIN, L1
|
||||
|
||||
;; DECOMP BEGINS
|
||||
(import "goal_src/import/robotboss-ag.gc")
|
||||
|
||||
(deftype robotboss-dda (structure)
|
||||
((blue-bomb-time float :offset-assert 0)
|
||||
|
||||
@@ -10,6 +10,9 @@
|
||||
|
||||
|
||||
;; DECOMP BEGINS
|
||||
(import "goal_src/import/silodoor-ag.gc")
|
||||
(import "goal_src/import/ecoclaw-ag.gc")
|
||||
(import "goal_src/import/finalbosscam-ag.gc")
|
||||
|
||||
(defskelgroup *med-res-snow1-sg* medres-snowback 0 2
|
||||
((1 (meters 999999)))
|
||||
|
||||
@@ -6,6 +6,9 @@
|
||||
;; dgos: FIN, L1
|
||||
|
||||
;; DECOMP BEGINS
|
||||
(import "goal_src/import/redring-ag.gc")
|
||||
(import "goal_src/import/darkecobomb-ag.gc")
|
||||
(import "goal_src/import/greenshot-ag.gc")
|
||||
|
||||
(deftype torus (structure)
|
||||
((origin vector :inline :offset-assert 0)
|
||||
|
||||
@@ -6,6 +6,9 @@
|
||||
;; dgos: FIN, L1
|
||||
|
||||
;; DECOMP BEGINS
|
||||
(import "goal_src/import/robotboss-blueeco-ag.gc")
|
||||
(import "goal_src/import/robotboss-yelloweco-ag.gc")
|
||||
(import "goal_src/import/robotboss-redeco-ag.gc")
|
||||
|
||||
(defmethod ease-loc-t robotboss ((obj robotboss))
|
||||
(parameter-ease-sin-clamp (-> obj loc-t))
|
||||
|
||||
@@ -4,8 +4,11 @@
|
||||
;; name: sage-finalboss-FIN.gc
|
||||
;; name in dgo: sage-finalboss
|
||||
;; dgos: FIN
|
||||
|
||||
;; DECOMP BEGINS
|
||||
(import "goal_src/import/plat-eco-finalboss-ag.gc")
|
||||
(import "goal_src/import/robotboss-cinematic-ag.gc")
|
||||
(import "goal_src/import/jak-white-ag.gc")
|
||||
(import "goal_src/import/green-sagecage-ag.gc")
|
||||
|
||||
(defskelgroup *robotboss-cinematic-sg* robotboss-cinematic robotboss-cinematic-lod0-jg robotboss-cinematic-idle-ja
|
||||
((robotboss-cinematic-lod0-mg (meters 999999)))
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
;; dgos: L1, FIC
|
||||
|
||||
;; DECOMP BEGINS
|
||||
(import "goal_src/import/assistant-firecanyon-ag.gc")
|
||||
|
||||
(deftype assistant-firecanyon (process-taskable)
|
||||
()
|
||||
|
||||
@@ -14,6 +14,8 @@
|
||||
|
||||
|
||||
;; DECOMP BEGINS
|
||||
(import "goal_src/import/crate-darkeco-cluster-ag.gc")
|
||||
(import "goal_src/import/spike-ag.gc")
|
||||
|
||||
(deftype balloon (process-drawable)
|
||||
((root-override collide-shape :offset 112)
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
;; dgos: L1, SNO, SWA
|
||||
|
||||
;; DECOMP BEGINS
|
||||
(import "goal_src/import/flut-saddle-ag.gc")
|
||||
|
||||
(if (not (nmember "flutp" *kernel-packages*))
|
||||
(set! *kernel-packages* (cons "flutp" *kernel-packages*))
|
||||
|
||||
@@ -6,6 +6,8 @@
|
||||
;; dgos: INT, L1
|
||||
|
||||
;; DECOMP BEGINS
|
||||
(import "goal_src/import/evilsis-ag.gc")
|
||||
(import "goal_src/import/evilbro-ag.gc")
|
||||
|
||||
(deftype evilbro (process-taskable)
|
||||
((evilsis entity :offset-assert 380)
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
(declare-type springbox process-drawable)
|
||||
|
||||
;; DECOMP BEGINS
|
||||
(import "goal_src/import/bounceytarp-ag.gc")
|
||||
|
||||
(deftype springbox (process-drawable)
|
||||
((spring-height meters :offset-assert 176)
|
||||
|
||||
@@ -11,6 +11,7 @@
|
||||
|
||||
|
||||
;; DECOMP BEGINS
|
||||
(import "goal_src/import/darkvine-ag.gc")
|
||||
|
||||
(deftype darkvine (process-drawable)
|
||||
((root-override collide-shape :offset 112)
|
||||
|
||||
@@ -8,6 +8,11 @@
|
||||
(declare-type fisher-fish process-drawable)
|
||||
|
||||
;; DECOMP BEGINS
|
||||
(import "goal_src/import/catch-fisha-ag.gc")
|
||||
(import "goal_src/import/fisher-ag.gc")
|
||||
(import "goal_src/import/catch-fishc-ag.gc")
|
||||
(import "goal_src/import/catch-fishb-ag.gc")
|
||||
(import "goal_src/import/fish-net-ag.gc")
|
||||
|
||||
(deftype fisher-bank (basic)
|
||||
((width meters :offset-assert 4)
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
;; dgos: JUN, JUNGLE, L1
|
||||
|
||||
;; DECOMP BEGINS
|
||||
(import "goal_src/import/hopper-ag.gc")
|
||||
|
||||
(deftype hopper (nav-enemy)
|
||||
((jump-length float :offset-assert 400)
|
||||
|
||||
@@ -10,6 +10,8 @@
|
||||
(define-extern draw-power-beam (function vector vector none))
|
||||
|
||||
;; DECOMP BEGINS
|
||||
(import "goal_src/import/reflector-mirror-ag.gc")
|
||||
(import "goal_src/import/periscope-ag.gc")
|
||||
|
||||
(defpartgroup group-jungle-binoculars
|
||||
:id 176
|
||||
|
||||
@@ -6,6 +6,16 @@
|
||||
;; dgos: JUN, JUNGLE, L1
|
||||
|
||||
;; DECOMP BEGINS
|
||||
(import "goal_src/import/accordian-ag.gc")
|
||||
(import "goal_src/import/precurbridge-ag.gc")
|
||||
(import "goal_src/import/logtrap-ag.gc")
|
||||
(import "goal_src/import/maindoor-ag.gc")
|
||||
(import "goal_src/import/lurkerm-tall-sail-ag.gc")
|
||||
(import "goal_src/import/lurkerm-piston-ag.gc")
|
||||
(import "goal_src/import/medres-firecanyon-ag.gc")
|
||||
(import "goal_src/import/sidedoor-ag.gc")
|
||||
(import "goal_src/import/junglecam-ag.gc")
|
||||
(import "goal_src/import/towertop-ag.gc")
|
||||
|
||||
(defskelgroup *med-res-firecanyon-sg* medres-firecanyon medres-firecanyon-lod0-jg medres-firecanyon-idle-ja
|
||||
((medres-firecanyon-lod0-mg (meters 999999)))
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
;; dgos: JUN, JUNGLE, L1
|
||||
|
||||
;; DECOMP BEGINS
|
||||
(import "goal_src/import/junglefish-ag.gc")
|
||||
|
||||
(deftype junglefish (nav-enemy)
|
||||
()
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
;; dgos: JUN, JUNGLE, L1
|
||||
|
||||
;; DECOMP BEGINS
|
||||
(import "goal_src/import/junglesnake-ag.gc")
|
||||
|
||||
(defskelgroup *junglesnake-sg* junglesnake junglesnake-lod0-jg junglesnake-idle-ja
|
||||
((junglesnake-lod0-mg (meters 999999)))
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
;; dgos: JUB, L1
|
||||
|
||||
;; DECOMP BEGINS
|
||||
(import "goal_src/import/aphid-lurker-ag.gc")
|
||||
|
||||
(deftype aphid (nav-enemy)
|
||||
((try int32 :offset-assert 400)
|
||||
|
||||
@@ -12,6 +12,8 @@
|
||||
|
||||
|
||||
;; DECOMP BEGINS
|
||||
(import "goal_src/import/eggtop-ag.gc")
|
||||
(import "goal_src/import/jng-iris-door-ag.gc")
|
||||
|
||||
(deftype eggtop (process-drawable)
|
||||
((root-override collide-shape-moving :offset 112)
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
(declare-type plant-boss-leaf process-drawable)
|
||||
|
||||
;; DECOMP BEGINS
|
||||
(import "goal_src/import/plant-boss-ag.gc")
|
||||
|
||||
(deftype plant-boss (process-drawable)
|
||||
((root-override collide-shape :offset 112)
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
;; dgos: JUB, L1
|
||||
|
||||
;; DECOMP BEGINS
|
||||
(import "goal_src/import/plat-flip-ag.gc")
|
||||
|
||||
(deftype plat-flip (process-drawable)
|
||||
((root-override collide-shape-moving :offset 112)
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
;; dgos: L1, LAV
|
||||
|
||||
;; DECOMP BEGINS
|
||||
(import "goal_src/import/assistant-lavatube-start-ag.gc")
|
||||
|
||||
(deftype assistant-lavatube-start (process-taskable)
|
||||
()
|
||||
|
||||
@@ -6,6 +6,11 @@
|
||||
;; dgos: L1, LAV
|
||||
|
||||
;; DECOMP BEGINS
|
||||
(import "goal_src/import/energyhub-ag.gc")
|
||||
(import "goal_src/import/energybase-ag.gc")
|
||||
(import "goal_src/import/energyarm-ag.gc")
|
||||
(import "goal_src/import/energyball-ag.gc")
|
||||
(import "goal_src/import/energydoor-ag.gc")
|
||||
|
||||
(defpartgroup group-energyarm
|
||||
:id 544
|
||||
|
||||
@@ -6,6 +6,15 @@
|
||||
;; dgos: L1, LAV
|
||||
|
||||
;; DECOMP BEGINS
|
||||
(import "goal_src/import/darkecobarrel-ag.gc")
|
||||
(import "goal_src/import/lavafall-ag.gc")
|
||||
(import "goal_src/import/lavaballoon-ag.gc")
|
||||
(import "goal_src/import/lavashortcut-ag.gc")
|
||||
(import "goal_src/import/chainmine-ag.gc")
|
||||
(import "goal_src/import/lavafallsewera-ag.gc")
|
||||
(import "goal_src/import/lavafallsewerb-ag.gc")
|
||||
(import "goal_src/import/lavabase-ag.gc")
|
||||
(import "goal_src/import/lavayellowtarp-ag.gc")
|
||||
|
||||
(deftype lavabase (process-drawable)
|
||||
()
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
(declare-type cave-trap process-drawable)
|
||||
|
||||
;; DECOMP BEGINS
|
||||
(import "goal_src/import/baby-spider-ag.gc")
|
||||
|
||||
(deftype baby-spider-spawn-params (structure)
|
||||
((hatched? symbol :offset-assert 0)
|
||||
|
||||
@@ -12,6 +12,7 @@
|
||||
|
||||
|
||||
;; DECOMP BEGINS
|
||||
(import "goal_src/import/dark-crystal-ag.gc")
|
||||
|
||||
(deftype dark-crystal (process-drawable)
|
||||
((root-override collide-shape :offset 112)
|
||||
|
||||
@@ -11,6 +11,7 @@
|
||||
|
||||
|
||||
;; DECOMP BEGINS
|
||||
(import "goal_src/import/driller-lurker-ag.gc")
|
||||
|
||||
(deftype driller-lurker (process-drawable)
|
||||
((root-overeride collide-shape-moving :offset 112)
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
(define-extern gnawer-joint-callback (function gnawer none))
|
||||
|
||||
;; DECOMP BEGINS
|
||||
(import "goal_src/import/gnawer-ag.gc")
|
||||
|
||||
(deftype gnawer-falling-segment (process-drawable)
|
||||
((transv vector :inline :offset-assert 176)
|
||||
|
||||
@@ -6,6 +6,12 @@
|
||||
;; dgos: L1, MAI, MAINCAVE
|
||||
|
||||
;; DECOMP BEGINS
|
||||
(import "goal_src/import/maincavecam-ag.gc")
|
||||
(import "goal_src/import/caveelevator-ag.gc")
|
||||
(import "goal_src/import/cavespatula-darkcave-ag.gc")
|
||||
(import "goal_src/import/cavespatulatwo-ag.gc")
|
||||
(import "goal_src/import/cavetrapdoor-ag.gc")
|
||||
(import "goal_src/import/cavecrusher-ag.gc")
|
||||
|
||||
(deftype maincavecam (pov-camera)
|
||||
((seq uint64 :offset-assert 224)
|
||||
|
||||
@@ -12,6 +12,7 @@
|
||||
|
||||
|
||||
;; DECOMP BEGINS
|
||||
(import "goal_src/import/spider-egg-ag.gc")
|
||||
|
||||
(deftype mother-spider-egg (process-drawable)
|
||||
((parent-override (pointer mother-spider) :offset 12)
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
(define-extern mother-spider-full-joint-callback (function mother-spider none))
|
||||
|
||||
;; DECOMP BEGINS
|
||||
(import "goal_src/import/mother-spider-ag.gc")
|
||||
|
||||
(defskelgroup *mother-spider-sg* mother-spider mother-spider-lod0-jg -1
|
||||
((mother-spider-lod0-mg (meters 20))
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
;; dgos: L1, MAI, MAINCAVE
|
||||
|
||||
;; DECOMP BEGINS
|
||||
(import "goal_src/import/spiderwebs-ag.gc")
|
||||
|
||||
(define *spider-jump-mods* (new 'static 'surface
|
||||
:name 'jump
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
;; dgos: L1, MIS
|
||||
|
||||
;; DECOMP BEGINS
|
||||
(import "goal_src/import/balloonlurker-ag.gc")
|
||||
|
||||
(defpartgroup group-balloonlurker-pilot-death
|
||||
:id 203
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
(declare-type bonelurker nav-enemy)
|
||||
|
||||
;; DECOMP BEGINS
|
||||
(import "goal_src/import/bonelurker-ag.gc")
|
||||
|
||||
(deftype bonelurker (nav-enemy)
|
||||
((bump-player-time time-frame :offset-assert 400)
|
||||
|
||||
@@ -11,6 +11,9 @@
|
||||
|
||||
|
||||
;; DECOMP BEGINS
|
||||
(import "goal_src/import/keg-ag.gc")
|
||||
(import "goal_src/import/keg-conveyor-ag.gc")
|
||||
(import "goal_src/import/keg-conveyor-paddle-ag.gc")
|
||||
|
||||
(defpartgroup group-keg-bounce
|
||||
:id 197
|
||||
|
||||
@@ -6,6 +6,14 @@
|
||||
;; dgos: L1, MIS
|
||||
|
||||
;; DECOMP BEGINS
|
||||
(import "goal_src/import/mistycam-ag.gc")
|
||||
(import "goal_src/import/breakaway-mid-ag.gc")
|
||||
(import "goal_src/import/breakaway-left-ag.gc")
|
||||
(import "goal_src/import/breakaway-right-ag.gc")
|
||||
(import "goal_src/import/mis-bone-bridge-ag.gc")
|
||||
(import "goal_src/import/windturbine-ag.gc")
|
||||
(import "goal_src/import/boatpaddle-ag.gc")
|
||||
(import "goal_src/import/mis-bone-platform-ag.gc")
|
||||
|
||||
(defpartgroup group-windturbine-particles
|
||||
:id 191
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
(declare-type teetertotter process-drawable)
|
||||
|
||||
;; DECOMP BEGINS
|
||||
(import "goal_src/import/teetertotter-ag.gc")
|
||||
|
||||
(deftype teetertotter (process-drawable)
|
||||
((launched-player basic :offset-assert 176)
|
||||
|
||||
@@ -8,6 +8,8 @@
|
||||
(declare-type silostep process-drawable)
|
||||
|
||||
;; DECOMP BEGINS
|
||||
(import "goal_src/import/silostep-ag.gc")
|
||||
(import "goal_src/import/rounddoor-ag.gc")
|
||||
|
||||
(deftype silostep (process-drawable)
|
||||
((anim-limit float :offset-assert 176)
|
||||
|
||||
@@ -6,6 +6,8 @@
|
||||
;; dgos: BEA, L1, MIS
|
||||
|
||||
;; DECOMP BEGINS
|
||||
(import "goal_src/import/mistycannon-ag.gc")
|
||||
(import "goal_src/import/sack-ag.gc")
|
||||
|
||||
(deftype angle-tracker (structure)
|
||||
((value float :offset-assert 0)
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
;; dgos: L1, MIS
|
||||
|
||||
;; DECOMP BEGINS
|
||||
(import "goal_src/import/muse-ag.gc")
|
||||
|
||||
(deftype muse (nav-enemy)
|
||||
((root-override collide-shape-moving :offset 112)
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
;; dgos: L1, MIS
|
||||
|
||||
;; DECOMP BEGINS
|
||||
(import "goal_src/import/quicksandlurker-ag.gc")
|
||||
|
||||
(defpartgroup group-quicksandlurker-missile
|
||||
:id 198
|
||||
|
||||
@@ -6,6 +6,10 @@
|
||||
;; dgos: L1, MIS
|
||||
|
||||
;; DECOMP BEGINS
|
||||
(import "goal_src/import/darkecocan-ag.gc")
|
||||
(import "goal_src/import/sidekick-human-ag.gc")
|
||||
(import "goal_src/import/evilsis-ag.gc")
|
||||
(import "goal_src/import/evilbro-ag.gc")
|
||||
|
||||
(deftype sequenceA (process-hidden)
|
||||
()
|
||||
|
||||
@@ -8,6 +8,9 @@
|
||||
(declare-type flying-lurker process-drawable)
|
||||
|
||||
;; DECOMP BEGINS
|
||||
(import "goal_src/import/ogrecam-ag.gc")
|
||||
(import "goal_src/import/flying-lurker-ag.gc")
|
||||
(import "goal_src/import/plunger-lurker-ag.gc")
|
||||
|
||||
(defskelgroup *ogrecam-sg* ogrecam ogrecam-lod0-jg -1
|
||||
((ogrecam-lod0-mg (meters 999999)))
|
||||
|
||||
@@ -25,6 +25,13 @@
|
||||
|
||||
|
||||
;; DECOMP BEGINS
|
||||
(import "goal_src/import/ogre-bridgeend-ag.gc")
|
||||
(import "goal_src/import/shortcut-boulder-ag.gc")
|
||||
(import "goal_src/import/ogre-step-ag.gc")
|
||||
(import "goal_src/import/ogre-isle-ag.gc")
|
||||
(import "goal_src/import/ogre-bridge-ag.gc")
|
||||
(import "goal_src/import/medres-snow-ag.gc")
|
||||
(import "goal_src/import/tntbarrel-ag.gc")
|
||||
|
||||
(defskelgroup *med-res-snow-sg* medres-snow medres-snow-lod0-jg medres-snow-idle-ja
|
||||
((medres-snow-lod0-mg (meters 999999)))
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
(define-extern *ogreboss* ogreboss)
|
||||
|
||||
;; DECOMP BEGINS
|
||||
(import "goal_src/import/ogreboss-ag.gc")
|
||||
|
||||
(defskelgroup *ogreboss-sg* ogreboss ogreboss-lod0-jg ogreboss-idle-ja
|
||||
((ogreboss-lod0-mg (meters 999999)))
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
(define-extern blocking-plane-spawn (function curve-control none))
|
||||
|
||||
;; DECOMP BEGINS
|
||||
(import "goal_src/import/racer-ag.gc")
|
||||
|
||||
(if (not (nmember "racerp" *kernel-packages*))
|
||||
(set! *kernel-packages* (cons "racerp" *kernel-packages*))
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
(define-extern *racer-air-mods* surface)
|
||||
|
||||
;; DECOMP BEGINS
|
||||
(import "goal_src/import/balloon-ag.gc")
|
||||
|
||||
(deftype racer-info (basic)
|
||||
((entity entity-actor :offset-assert 4)
|
||||
|
||||
@@ -12,6 +12,7 @@
|
||||
|
||||
|
||||
;; DECOMP BEGINS
|
||||
(import "goal_src/import/spider-egg-ag.gc")
|
||||
|
||||
(deftype spider-egg (process-drawable)
|
||||
((root-override collide-shape-moving :offset 112)
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
;; dgos: L1, ROL
|
||||
|
||||
;; DECOMP BEGINS
|
||||
(import "goal_src/import/lightning-mole-ag.gc")
|
||||
|
||||
(defun find-adjacent-bounds-one ((arg0 nav-mesh) (arg1 nav-poly) (arg2 int) (arg3 (array int8)) (arg4 (array int8)) (arg5 vector))
|
||||
(local-vars (v0-2 object) (v1-2 int) (v1-30 int) (a0-2 int) (a0-12 int) (sv-16 nav-poly) (sv-32 int))
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user