diff --git a/decompiler/ObjectFile/ObjectFileDB.cpp b/decompiler/ObjectFile/ObjectFileDB.cpp index eb7c2cd04..9e5a982ed 100644 --- a/decompiler/ObjectFile/ObjectFileDB.cpp +++ b/decompiler/ObjectFile/ObjectFileDB.cpp @@ -7,6 +7,7 @@ #include "ObjectFileDB.h" #include +#include #include #include #include "LinkedObjectFileCreation.h" @@ -24,6 +25,39 @@ std::string ObjectFileRecord::to_unique_name() const { return name + "-v" + std::to_string(version); } +std::string ObjectFileData::to_unique_name() const { + if (has_multiple_versions) { + std::string result = record.name + "-"; + auto dgo_names_sorted = dgo_names; + std::sort(dgo_names_sorted.begin(), dgo_names_sorted.end()); + for (auto x : dgo_names_sorted) { + auto ext = x.substr(x.length() - 4, 4); + if (ext == ".CGO" || ext == ".cgo" || ext == ".DGO" || ext == ".dgo") { + x = x.substr(0, x.length() - 4); + } + result += x + "-"; + } + result.pop_back(); + return result; + } else { + return record.name; + } +} +ObjectFileData& ObjectFileDB::lookup_record(ObjectFileRecord rec) { + ObjectFileData* result = nullptr; + + for (auto& x : obj_files_by_name[rec.name]) { + if (x.record.version == rec.version) { + assert(x.record.hash == rec.hash); + assert(!result); + result = &x; + } + } + + assert(result); + return *result; +} + /*! * Build an object file DB for the given list of DGOs. */ @@ -69,6 +103,40 @@ void assert_string_empty_after(const char* str, int size) { } } // namespace +namespace { +std::string get_object_file_name(const std::string& original_name, uint8_t* data, int size) { + const char art_group_text[] = + "/src/next/data/art-group6/"; // todo, this may change in other games + const char suffix[] = "-ag.go"; + + int len = int(strlen(art_group_text)); + for (int start = 0; start < size; start++) { + bool failed = false; + for (int i = 0; i < len; i++) { + if (start + i >= size || data[start + i] != art_group_text[i]) { + failed = true; + break; + } + } + + if (!failed) { + for (int i = 0; i < int(original_name.length()); i++) { + if (start + len + i >= size || data[start + len + i] != original_name[i]) { + assert(false); + } + } + + assert(int(strlen(suffix)) + start + len + int(original_name.length()) < size); + assert(!memcmp(data + start + len + original_name.length(), suffix, strlen(suffix) + 1)); + + return original_name + "-ag"; + } + } + + return original_name; +} +} // namespace + constexpr int MAX_CHUNK_SIZE = 0x8000; /*! * Load the objects stored in the given DGO into the ObjectFileDB @@ -141,7 +209,9 @@ void ObjectFileDB::get_objs_from_dgo(const std::string& filename) { assert(reader.bytes_left() >= obj_header.size); assert_string_empty_after(obj_header.name, 60); - add_obj_from_dgo(obj_header.name, reader.here(), obj_header.size, dgo_base_name); + auto name = get_object_file_name(obj_header.name, reader.here(), obj_header.size); + + add_obj_from_dgo(name, obj_header.name, reader.here(), obj_header.size, dgo_base_name); reader.ffwd(obj_header.size); } @@ -153,39 +223,63 @@ void ObjectFileDB::get_objs_from_dgo(const std::string& filename) { * Add an object file to the ObjectFileDB */ void ObjectFileDB::add_obj_from_dgo(const std::string& obj_name, + const std::string& name_in_dgo, uint8_t* obj_data, uint32_t obj_size, const std::string& dgo_name) { stats.total_obj_files++; - + assert(obj_size > 128); + uint16_t version = *(uint16_t*)(obj_data + 8); auto hash = crc32(obj_data, obj_size); + bool duplicated = false; // first, check to see if we already got it... for (auto& e : obj_files_by_name[obj_name]) { if (e.data.size() == obj_size && e.record.hash == hash) { + // just to make sure we don't have a hash collision. + assert(!memcmp(obj_data, e.data.data(), obj_size)); + // already got it! e.reference_count++; - auto rec = e.record; + auto& rec = e.record; + assert(name_in_dgo == e.name_in_dgo); + e.dgo_names.push_back(dgo_name); obj_files_by_dgo[dgo_name].push_back(rec); - return; + duplicated = true; + break; + } else { + e.has_multiple_versions = true; } } + if (duplicated) { + return; + } + // nope, have to add a new one. ObjectFileData data; data.data.resize(obj_size); memcpy(data.data.data(), obj_data, obj_size); data.record.hash = hash; data.record.name = obj_name; + data.dgo_names.push_back(dgo_name); if (obj_files_by_name[obj_name].empty()) { // if this is the first time we've seen this object file name, add it in the order. obj_file_order.push_back(obj_name); } data.record.version = obj_files_by_name[obj_name].size(); + data.name_in_dgo = name_in_dgo; + data.obj_version = version; obj_files_by_dgo[dgo_name].push_back(data.record); obj_files_by_name[obj_name].emplace_back(std::move(data)); stats.unique_obj_files++; stats.unique_obj_bytes += obj_size; + + if (obj_files_by_name[obj_name].size() > 1) { + for (auto& e : obj_files_by_name[obj_name]) { + e.has_multiple_versions = true; + } + } } /*! @@ -202,8 +296,13 @@ std::string ObjectFileDB::generate_dgo_listing() { for (const auto& name : dgo_names) { result += "(\"" + name + "\"\n"; - for (auto& obj : obj_files_by_dgo[name]) { - result += " " + obj.name + " :version " + std::to_string(obj.version) + "\n"; + for (auto& obj_rec : obj_files_by_dgo[name]) { + auto obj = lookup_record(obj_rec); + std::string extension = ".o"; + if (obj.obj_version == 4 || obj.obj_version == 2) { + extension = ".go"; + } + result += " (\"" + obj.to_unique_name() + extension + "\" \"" + obj.name_in_dgo + "\")\n"; } result += " )\n\n"; } @@ -211,6 +310,25 @@ std::string ObjectFileDB::generate_dgo_listing() { return result; } +std::string ObjectFileDB::generate_obj_listing() { + std::string result; + std::set all_unique_names; + int unique_count = 0; + for (auto& obj_file : obj_file_order) { + for (auto& x : obj_files_by_name.at(obj_file)) { + result += + x.to_unique_name() + +", " + x.name_in_dgo + ", " + std::to_string(x.obj_version) + "\n"; + unique_count++; + all_unique_names.insert(x.to_unique_name()); + } + } + + // this check is extremely important. It makes sure we don't have any repeat names. This could + // be caused by two files with the same name, in the same DGOs, but different data. + assert(int(all_unique_names.size()) == unique_count); + return result; +} + /*! * Process all of the linking data of all objects. */ diff --git a/decompiler/ObjectFile/ObjectFileDB.h b/decompiler/ObjectFile/ObjectFileDB.h index 3dda56821..6a7fabda6 100644 --- a/decompiler/ObjectFile/ObjectFileDB.h +++ b/decompiler/ObjectFile/ObjectFileDB.h @@ -31,6 +31,11 @@ struct ObjectFileData { std::vector data; // raw bytes LinkedObjectFile linked_data; // data including linking annotations ObjectFileRecord record; // name + std::vector dgo_names; + int obj_version = -1; + bool has_multiple_versions = false; + std::string name_in_dgo; + std::string to_unique_name() const; uint32_t reference_count = 0; // number of times its used. }; @@ -38,6 +43,7 @@ class ObjectFileDB { public: ObjectFileDB(const std::vector& _dgos); std::string generate_dgo_listing(); + std::string generate_obj_listing(); void process_link_data(); void process_labels(); void find_code(); @@ -46,10 +52,12 @@ class ObjectFileDB { void write_object_file_words(const std::string& output_dir, bool dump_v3_only); void write_disassembly(const std::string& output_dir, bool disassemble_objects_without_functions); void analyze_functions(); + ObjectFileData& lookup_record(ObjectFileRecord rec); private: void get_objs_from_dgo(const std::string& filename); void add_obj_from_dgo(const std::string& obj_name, + const std::string& name_in_dgo, uint8_t* obj_data, uint32_t obj_size, const std::string& dgo_name); diff --git a/decompiler/main.cpp b/decompiler/main.cpp index 1deb4d4d0..034bc819a 100644 --- a/decompiler/main.cpp +++ b/decompiler/main.cpp @@ -27,6 +27,7 @@ int main(int argc, char** argv) { ObjectFileDB db(dgos); write_text_file(combine_path(out_folder, "dgo.txt"), db.generate_dgo_listing()); + write_text_file(combine_path(out_folder, "obj.txt"), db.generate_obj_listing()); db.process_link_data(); db.find_code(); diff --git a/goal_src/build/all_objs.txt b/goal_src/build/all_objs.txt new file mode 100644 index 000000000..627937d9d --- /dev/null +++ b/goal_src/build/all_objs.txt @@ -0,0 +1,1092 @@ +This is a list of all unique object files in the following format: +filename, DGO/CGO name, object version + +Not read by anything. + +gcommon, gcommon, 3 +gstring-h, gstring-h, 3 +gkernel-h, gkernel-h, 3 +gkernel, gkernel, 3 +pskernel, pskernel, 3 +gstring, gstring, 3 +dgo-h, dgo-h, 3 +gstate, gstate, 3 +types-h, types-h, 3 +vu1-macros, vu1-macros, 3 +math, math, 3 +vector-h, vector-h, 3 +gravity-h, gravity-h, 3 +bounding-box-h, bounding-box-h, 3 +matrix-h, matrix-h, 3 +quaternion-h, quaternion-h, 3 +euler-h, euler-h, 3 +transform-h, transform-h, 3 +geometry-h, geometry-h, 3 +trigonometry-h, trigonometry-h, 3 +transformq-h, transformq-h, 3 +bounding-box, bounding-box, 3 +matrix, matrix, 3 +transform, transform, 3 +quaternion, quaternion, 3 +euler, euler, 3 +geometry, geometry, 3 +trigonometry, trigonometry, 3 +gsound-h, gsound-h, 3 +timer-h, timer-h, 3 +timer, timer, 3 +vif-h, vif-h, 3 +dma-h, dma-h, 3 +video-h, video-h, 3 +vu1-user-h, vu1-user-h, 3 +dma, dma, 3 +dma-buffer, dma-buffer, 3 +dma-bucket, dma-bucket, 3 +dma-disasm, dma-disasm, 3 +pad, pad, 3 +gs, gs, 3 +display-h, display-h, 3 +vector, vector, 3 +file-io, file-io, 3 +loader-h, loader-h, 3 +texture-h, texture-h, 3 +level-h, level-h, 3 +math-camera-h, math-camera-h, 3 +math-camera, math-camera, 3 +font-h, font-h, 3 +decomp-h, decomp-h, 3 +display, display, 3 +connect, connect, 3 +text-h, text-h, 3 +settings-h, settings-h, 3 +capture, capture, 3 +memory-usage-h, memory-usage-h, 3 +texture, texture, 3 +main-h, main-h, 3 +mspace-h, mspace-h, 3 +drawable-h, drawable-h, 3 +drawable-group-h, drawable-group-h, 3 +drawable-inline-array-h, drawable-inline-array-h, 3 +draw-node-h, draw-node-h, 3 +drawable-tree-h, drawable-tree-h, 3 +drawable-actor-h, drawable-actor-h, 3 +drawable-ambient-h, drawable-ambient-h, 3 +game-task-h, game-task-h, 3 +hint-control-h, hint-control-h, 3 +generic-h, generic-h, 3 +lights-h, lights-h, 3 +ocean-h, ocean-h, 3 +ocean-trans-tables, ocean-trans-tables, 3 +ocean-tables, ocean-tables, 3 +ocean-frames, ocean-frames, 3 +sky-h, sky-h, 3 +mood-h, mood-h, 3 +time-of-day-h, time-of-day-h, 3 +art-h, art-h, 3 +generic-vu1-h, generic-vu1-h, 3 +merc-h, merc-h, 3 +generic-merc-h, generic-merc-h, 3 +generic-tie-h, generic-tie-h, 3 +generic-work-h, generic-work-h, 3 +shadow-cpu-h, shadow-cpu-h, 3 +shadow-vu1-h, shadow-vu1-h, 3 +memcard-h, memcard-h, 3 +game-info-h, game-info-h, 3 +wind-h, wind-h, 3 +prototype-h, prototype-h, 3 +joint-h, joint-h, 3 +bones-h, bones-h, 3 +engines, engines, 3 +res-h, res-h, 3 +res, res, 3 +lights, lights, 3 +dynamics-h, dynamics-h, 3 +surface-h, surface-h, 3 +pat-h, pat-h, 3 +fact-h, fact-h, 3 +aligner-h, aligner-h, 3 +game-h, game-h, 3 +generic-obs-h, generic-obs-h, 3 +pov-camera-h, pov-camera-h, 3 +sync-info-h, sync-info-h, 3 +smush-control-h, smush-control-h, 3 +trajectory-h, trajectory-h, 3 +debug-h, debug-h, 3 +joint-mod-h, joint-mod-h, 3 +collide-func-h, collide-func-h, 3 +collide-mesh-h, collide-mesh-h, 3 +collide-shape-h, collide-shape-h, 3 +collide-target-h, collide-target-h, 3 +collide-touch-h, collide-touch-h, 3 +collide-edge-grab-h, collide-edge-grab-h, 3 +process-drawable-h, process-drawable-h, 3 +effect-control-h, effect-control-h, 3 +collide-frag-h, collide-frag-h, 3 +projectiles-h, projectiles-h, 3 +target-h, target-h, 3 +depth-cue-h, depth-cue-h, 3 +stats-h, stats-h, 3 +bsp-h, bsp-h, 3 +collide-cache-h, collide-cache-h, 3 +collide-h, collide-h, 3 +shrubbery-h, shrubbery-h, 3 +tie-h, tie-h, 3 +tfrag-h, tfrag-h, 3 +background-h, background-h, 3 +subdivide-h, subdivide-h, 3 +entity-h, entity-h, 3 +sprite-h, sprite-h, 3 +shadow-h, shadow-h, 3 +eye-h, eye-h, 3 +sparticle-launcher-h, sparticle-launcher-h, 3 +sparticle-h, sparticle-h, 3 +actor-link-h, actor-link-h, 3 +camera-h, camera-h, 3 +cam-debug-h, cam-debug-h, 3 +cam-interface-h, cam-interface-h, 3 +cam-update-h, cam-update-h, 3 +assert-h, assert-h, 3 +hud-h, hud-h, 3 +progress-h, progress-h, 3 +rpc-h, rpc-h, 3 +path-h, path-h, 3 +navigate-h, navigate-h, 3 +load-dgo, load-dgo, 3 +ramdisk, ramdisk, 3 +gsound, gsound, 3 +transformq, transformq, 3 +collide-func, collide-func, 3 +joint, joint, 3 +cylinder, cylinder, 3 +wind, wind, 3 +bsp, bsp, 3 +subdivide, subdivide, 3 +sprite, sprite, 3 +sprite-distort, sprite-distort, 3 +debug-sphere, debug-sphere, 3 +debug, debug, 3 +merc-vu1, merc-vu1, 3 +merc-blend-shape, merc-blend-shape, 3 +merc, merc, 3 +ripple, ripple, 3 +bones, bones, 3 +generic-vu0, generic-vu0, 3 +generic, generic, 3 +generic-vu1, generic-vu1, 3 +generic-effect, generic-effect, 3 +generic-merc, generic-merc, 3 +generic-tie, generic-tie, 3 +shadow-cpu, shadow-cpu, 3 +shadow-vu1, shadow-vu1, 3 +depth-cue, depth-cue, 3 +font, font, 3 +decomp, decomp, 3 +background, background, 3 +draw-node, draw-node, 3 +shrubbery, shrubbery, 3 +shrub-work, shrub-work, 3 +tfrag-near, tfrag-near, 3 +tfrag, tfrag, 3 +tfrag-methods, tfrag-methods, 3 +tfrag-work, tfrag-work, 3 +tie, tie, 3 +tie-near, tie-near, 3 +tie-work, tie-work, 3 +tie-methods, tie-methods, 3 +sync-info, sync-info, 3 +trajectory, trajectory, 3 +sparticle-launcher, sparticle-launcher, 3 +sparticle, sparticle, 3 +entity-table, entity-table, 3 +loader, loader, 3 +task-control-h, task-control-h, 3 +game-info, game-info, 3 +game-save, game-save, 3 +settings, settings, 3 +mood-tables, mood-tables, 3 +mood, mood, 3 +weather-part, weather-part, 3 +time-of-day, time-of-day, 3 +sky-utils, sky-utils, 3 +sky, sky, 3 +sky-tng, sky-tng, 3 +load-boundary-h, load-boundary-h, 3 +load-boundary, load-boundary, 3 +load-boundary-data, load-boundary-data, 3 +level-info, level-info, 3 +level, level, 3 +text, text, 3 +collide-probe, collide-probe, 3 +collide-frag, collide-frag, 3 +collide-mesh, collide-mesh, 3 +collide-touch, collide-touch, 3 +collide-edge-grab, collide-edge-grab, 3 +collide-shape, collide-shape, 3 +collide-shape-rider, collide-shape-rider, 3 +collide, collide, 3 +collide-planes, collide-planes, 3 +merc-death, merc-death, 3 +water-h, water-h, 3 +camera, camera, 3 +cam-interface, cam-interface, 3 +cam-master, cam-master, 3 +cam-states, cam-states, 3 +cam-states-dbg, cam-states-dbg, 3 +cam-combiner, cam-combiner, 3 +cam-update, cam-update, 3 +vol-h, vol-h, 3 +cam-layout, cam-layout, 3 +cam-debug, cam-debug, 3 +cam-start, cam-start, 3 +process-drawable, process-drawable, 3 +hint-control, hint-control, 3 +ambient, ambient, 3 +assert, assert, 3 +generic-obs, generic-obs, 3 +target-util, target-util, 3 +target-part, target-part, 3 +collide-reaction-target, collide-reaction-target, 3 +logic-target, logic-target, 3 +sidekick, sidekick, 3 +voicebox, voicebox, 3 +target-handler, target-handler, 3 +target, target, 3 +target2, target2, 3 +target-death, target-death, 3 +menu, menu, 3 +drawable, drawable, 3 +drawable-group, drawable-group, 3 +drawable-inline-array, drawable-inline-array, 3 +drawable-tree, drawable-tree, 3 +prototype, prototype, 3 +main-collide, main-collide, 3 +video, video, 3 +main, main, 3 +collide-cache, collide-cache, 3 +relocate, relocate, 3 +memory-usage, memory-usage, 3 +entity, entity, 3 +path, path, 3 +vol, vol, 3 +navigate, navigate, 3 +aligner, aligner, 3 +effect-control, effect-control, 3 +water, water, 3 +collectables-part, collectables-part, 3 +collectables, collectables, 3 +task-control, task-control, 3 +process-taskable, process-taskable, 3 +pov-camera, pov-camera, 3 +powerups, powerups, 3 +crates, crates, 3 +hud, hud, 3 +hud-classes, hud-classes, 3 +progress-static, progress-static, 3 +progress-part, progress-part, 3 +progress-draw, progress-draw, 3 +progress, progress, 3 +credits, credits, 3 +projectiles, projectiles, 3 +ocean, ocean, 3 +ocean-vu0, ocean-vu0, 3 +ocean-texture, ocean-texture, 3 +ocean-mid, ocean-mid, 3 +ocean-transition, ocean-transition, 3 +ocean-near, ocean-near, 3 +shadow, shadow, 3 +eye, eye, 3 +glist-h, glist-h, 3 +glist, glist, 3 +anim-tester, anim-tester, 3 +viewer, viewer, 3 +part-tester, part-tester, 3 +default-menu, default-menu, 3 +dir-tpages, dir-tpages, 4 +tpage-463, tpage-463, 4 +tpage-2, tpage-2, 4 +tpage-880, tpage-880, 4 +tpage-256, tpage-256, 4 +tpage-1278, tpage-1278, 4 +texture-upload, texture-upload, 3 +tpage-1032, tpage-1032, 4 +tpage-62, tpage-62, 4 +tpage-1532, tpage-1532, 4 +fuel-cell-ag, fuel-cell, 4 +money-ag, money, 4 +buzzer-ag, buzzer, 4 +ecovalve-ag-ART-GAME, ecovalve, 4 +ecovalve-ag-BEA, ecovalve, 4 +ecovalve-ag-CIT, ecovalve, 4 +ecovalve-ag-FIN, ecovalve, 4 +ecovalve-ag-JUB-JUN, ecovalve, 4 +ecovalve-ag-FIC-OGR, ecovalve, 4 +ecovalve-ag-LAV, ecovalve, 4 +ecovalve-ag-MAI, ecovalve, 4 +ecovalve-ag-ROB, ecovalve, 4 +ecovalve-ag-ROL, ecovalve, 4 +ecovalve-ag-SNO, ecovalve, 4 +ecovalve-ag-SUB, ecovalve, 4 +ecovalve-ag-SWA, ecovalve, 4 +ecovalve-ag-TRA, ecovalve, 4 +crate-ag, crate, 4 +speaker-ag, speaker, 4 +fuelcell-naked-ag, fuelcell-naked, 4 +eichar-ag, eichar, 4 +sidekick-ag, sidekick, 4 +deathcam-ag, deathcam, 4 +game-cnt, game-cnt, 4 +rigid-body-h, rigid-body-h, 3 +water-anim, water-anim, 3 +dark-eco-pool, dark-eco-pool, 3 +rigid-body, rigid-body, 3 +nav-enemy-h, nav-enemy-h, 3 +nav-enemy, nav-enemy, 3 +baseplat, baseplat, 3 +basebutton, basebutton, 3 +tippy, tippy, 3 +joint-exploder, joint-exploder, 3 +babak, babak, 3 +sharkey, sharkey, 3 +orb-cache, orb-cache, 3 +plat, plat, 3 +plat-button, plat-button, 3 +plat-eco, plat-eco, 3 +ropebridge, ropebridge, 3 +ticky, ticky, 3 +mistycannon, mistycannon, 3 +babak-with-cannon, babak-with-cannon, 3 +air-h, air-h, 3 +air, air, 3 +wobbler, wobbler, 3 +twister, twister, 3 +beach-obs, beach-obs, 3 +bird-lady, bird-lady, 3 +bird-lady-beach, bird-lady-beach, 3 +mayor, mayor, 3 +sculptor, sculptor, 3 +pelican, pelican, 3 +lurkerworm, lurkerworm, 3 +lurkercrab, lurkercrab, 3 +lurkerpuppy, lurkerpuppy, 3 +beach-rocks, beach-rocks, 3 +seagull, seagull, 3 +beach-part, beach-part, 3 +tpage-212, tpage-212, 4 +tpage-214, tpage-214, 4 +tpage-213, tpage-213, 4 +tpage-215, tpage-215, 4 +babak-ag, babak, 4 +barrel-ag-BEA, barrel, 4 +barrel-ag-VI2, barrel, 4 +beachcam-ag, beachcam, 4 +bird-lady-ag, bird-lady, 4 +bird-lady-beach-ag, bird-lady-beach, 4 +bladeassm-ag, bladeassm, 4 +ecoventrock-ag, ecoventrock, 4 +flutflut-ag, flutflut, 4 +flutflutegg-ag, flutflutegg, 4 +grottopole-ag, grottopole, 4 +harvester-ag, harvester, 4 +kickrock-ag, kickrock, 4 +lrocklrg-ag, lrocklrg, 4 +lurkercrab-ag, lurkercrab, 4 +lurkerpuppy-ag, lurkerpuppy, 4 +lurkerworm-ag, lurkerworm, 4 +mayor-ag, mayor, 4 +mistycannon-ag, mistycannon, 4 +orb-cache-top-ag-BEA, orb-cache-top, 4 +orb-cache-top-ag-CIT, orb-cache-top, 4 +orb-cache-top-ag-JUN, orb-cache-top, 4 +orb-cache-top-ag-MIS, orb-cache-top, 4 +orb-cache-top-ag-SNO, orb-cache-top, 4 +orb-cache-top-ag-SUN, orb-cache-top, 4 +orb-cache-top-ag-VI1, orb-cache-top, 4 +orb-cache-top-ag-VI2, orb-cache-top, 4 +pelican-ag, pelican, 4 +sack-ag-BEA, sack, 4 +sack-ag-MIS, sack, 4 +sculptor-ag, sculptor, 4 +sculptor-muse-ag, sculptor-muse, 4 +seagull-ag, seagull, 4 +sharkey-ag-BEA-TRA-VI2, sharkey, 4 +sharkey-ag-JUN-MIS, sharkey, 4 +sharkey-ag-SWA, sharkey, 4 +sharkey-ag-VI1, sharkey, 4 +windmill-one-ag, windmill-one, 4 +beach-vis, beach-vis, 4 +villagep-obs, villagep-obs, 3 +oracle, oracle, 3 +battlecontroller, battlecontroller, 3 +citadel-part, citadel-part, 3 +citadel-obs, citadel-obs, 3 +citb-plat, citb-plat, 3 +citadel-sages, citadel-sages, 3 +snow-bunny, snow-bunny, 3 +citb-bunny, citb-bunny, 3 +citb-drop-plat-CIT, citb-drop-plat, 3 +citb-drop-plat-L1, citb-drop-plat, 3 +assistant-citadel, assistant-citadel, 3 +tpage-1415, tpage-1415, 4 +tpage-1417, tpage-1417, 4 +tpage-1416, tpage-1416, 4 +tpage-1414, tpage-1414, 4 +assistant-lavatube-end-ag, assistant-lavatube-end, 4 +bluesage-ag, bluesage, 4 +citadelcam-ag, citadelcam, 4 +citb-arm-ag, citb-arm, 4 +citb-arm-shoulder-ag, citb-arm-shoulder, 4 +citb-bunny-ag, citb-bunny, 4 +citb-button-ag, citb-button, 4 +citb-chain-plat-ag, citb-chain-plat, 4 +citb-chains-ag, citb-chains, 4 +citb-coil-ag, citb-coil, 4 +citb-disc-ag, citb-disc, 4 +citb-donut-ag, citb-donut, 4 +citb-drop-plat-ag, citb-drop-plat, 4 +citb-exit-plat-ag, citb-exit-plat, 4 +citb-firehose-ag, citb-firehose, 4 +citb-generator-ag, citb-generator, 4 +citb-hose-ag, citb-hose, 4 +citb-iris-door-ag, citb-iris-door, 4 +citb-launcher-ag, citb-launcher, 4 +citb-robotboss-ag, citb-robotboss, 4 +citb-rotatebox-ag, citb-rotatebox, 4 +citb-sagecage-ag, citb-sagecage, 4 +citb-stopbox-ag, citb-stopbox, 4 +evilbro-citadel-ag, evilbro-citadel, 4 +evilsis-citadel-ag, evilsis-citadel, 4 +green-sagecage-ag, green-sagecage, 4 +plat-citb-ag, plat-citb, 4 +plat-eco-citb-ag, plat-eco-citb, 4 +redsage-ag, redsage, 4 +warp-gate-switch-ag-CIT, warp-gate-switch, 4 +warp-gate-switch-ag-TRA, warp-gate-switch, 4 +warp-gate-switch-ag-VI1-VI3, warp-gate-switch, 4 +warp-gate-switch-ag-VI2, warp-gate-switch, 4 +warpgate-ag, warpgate, 4 +yellowsage-ag, yellowsage, 4 +citadel-vis, citadel-vis, 4 +darkcave-obs, darkcave-obs, 3 +tpage-1306, tpage-1306, 4 +tpage-1307, tpage-1307, 4 +tpage-1305, tpage-1305, 4 +tpage-1304, tpage-1304, 4 +tpage-1352, tpage-1352, 4 +baby-spider-ag-DAR, baby-spider, 4 +baby-spider-ag-MAI, baby-spider, 4 +baby-spider-ag-ROB, baby-spider, 4 +cavecrystal-ag, cavecrystal, 4 +caveelevator-ag, caveelevator, 4 +cavespatula-darkcave-ag, cavespatula-darkcave, 4 +cavetrapdoor-ag-DAR, cavetrapdoor, 4 +cavetrapdoor-ag-MAI, cavetrapdoor, 4 +cavetrapdoor-ag-ROB, cavetrapdoor, 4 +dark-crystal-ag, dark-crystal, 4 +mother-spider-ag, mother-spider, 4 +spider-egg-ag-DAR-MAI, spider-egg, 4 +spider-egg-ag-ROB, spider-egg, 4 +water-anim-darkcave-ag, water-anim-darkcave, 4 +darkcave-vis, darkcave-vis, 4 +demo-obs, demo-obs, 3 +tpage-1485, tpage-1485, 4 +tpage-1486, tpage-1486, 4 +tpage-1487, tpage-1487, 4 +tpage-1599, tpage-1599, 4 +tpage-1600, tpage-1600, 4 +tpage-1601, tpage-1601, 4 +tpage-1602, tpage-1602, 4 +tpage-1603, tpage-1603, 4 +tpage-1604, tpage-1604, 4 +tpage-1605, tpage-1605, 4 +tpage-1606, tpage-1606, 4 +tpage-1607, tpage-1607, 4 +static-screen, static-screen, 3 +tpage-1480, tpage-1480, 4 +tpage-1479, tpage-1479, 4 +demo-vis, demo-vis, 4 +robotboss-h, robotboss-h, 3 +robotboss-part, robotboss-part, 3 +sage-finalboss-part, sage-finalboss-part, 3 +light-eco, light-eco, 3 +robotboss-weapon, robotboss-weapon, 3 +robotboss-misc, robotboss-misc, 3 +green-eco-lurker, green-eco-lurker, 3 +robotboss, robotboss, 3 +final-door, final-door, 3 +sage-finalboss-FIN, sage-finalboss, 3 +sage-finalboss-L1, sage-finalboss, 3 +tpage-1419, tpage-1419, 4 +tpage-1420, tpage-1420, 4 +tpage-634, tpage-634, 4 +tpage-1418, tpage-1418, 4 +tpage-545, tpage-545, 4 +darkecobomb-ag, darkecobomb, 4 +ecoclaw-ag, ecoclaw, 4 +finalbosscam-ag, finalbosscam, 4 +green-eco-lurker-ag, green-eco-lurker, 4 +greenshot-ag, greenshot, 4 +jak-white-ag, jak-white, 4 +light-eco-ag, light-eco, 4 +plat-eco-finalboss-ag, plat-eco-finalboss, 4 +power-left-ag, power-left, 4 +power-right-ag, power-right, 4 +powercellalt-ag, powercellalt, 4 +redring-ag, redring, 4 +robotboss-ag, robotboss, 4 +robotboss-blueeco-ag, robotboss-blueeco, 4 +robotboss-cinematic-ag, robotboss-cinematic, 4 +robotboss-redeco-ag, robotboss-redeco, 4 +robotboss-yelloweco-ag, robotboss-yelloweco, 4 +silodoor-ag, silodoor, 4 +water-anim-finalboss-ag, water-anim-finalboss, 4 +finalboss-vis, finalboss-vis, 4 +evilbro, evilbro, 3 +tpage-1455, tpage-1455, 4 +tpage-1457, tpage-1457, 4 +tpage-1456, tpage-1456, 4 +tpage-1454, tpage-1454, 4 +evilbro-ag, evilbro, 4 +evilsis-ag, evilsis, 4 +intro-vis, intro-vis, 4 +jungleb-obs, jungleb-obs, 3 +plat-flip, plat-flip, 3 +plant-boss-main+0-ag, plant-boss-main+0, 4 +aphid, aphid, 3 +plant-boss, plant-boss, 3 +tpage-485, tpage-485, 4 +tpage-510, tpage-510, 4 +tpage-507, tpage-507, 4 +tpage-966, tpage-966, 4 +aphid-lurker-ag, aphid-lurker, 4 +darkvine-ag-JUB, darkvine, 4 +darkvine-ag-JUN, darkvine, 4 +eggtop-ag, eggtop, 4 +jng-iris-door-ag-JUB, jng-iris-door, 4 +jng-iris-door-ag-TRA, jng-iris-door, 4 +plant-boss-ag, plant-boss, 4 +plat-flip-ag, plat-flip, 4 +plat-jungleb-ag, plat-jungleb, 4 +jungleb-vis, jungleb-vis, 4 +eichar-fish+0-ag-JUN, eichar-fish+0, 4 +eichar-fish+0-ag-JUNGLE, eichar-fish+0, 4 +eichar-fish+0-ag-L1, eichar-fish+0, 4 +jungle-elevator, jungle-elevator, 3 +bouncer, bouncer, 3 +hopper, hopper, 3 +junglesnake, junglesnake, 3 +darkvine, darkvine, 3 +jungle-obs, jungle-obs, 3 +jungle-mirrors, jungle-mirrors, 3 +junglefish, junglefish, 3 +fisher-JUN, fisher, 3 +fisher-JUNGLE-L1, fisher, 3 +jungle-part, jungle-part, 3 +launcherdoor, launcherdoor, 3 +tpage-385, tpage-385, 4 +tpage-531, tpage-531, 4 +tpage-386, tpage-386, 4 +tpage-388, tpage-388, 4 +tpage-765, tpage-765, 4 +accordian-ag, accordian, 4 +bounceytarp-ag, bounceytarp, 4 +catch-fisha-ag, catch-fisha, 4 +catch-fishb-ag, catch-fishb, 4 +catch-fishc-ag, catch-fishc, 4 +fish-net-ag, fish-net, 4 +fisher-ag, fisher, 4 +hopper-ag, hopper, 4 +junglecam-ag, junglecam, 4 +junglefish-ag, junglefish, 4 +junglesnake-ag, junglesnake, 4 +launcherdoor-ag-JUN, launcherdoor, 4 +launcherdoor-ag-SUN, launcherdoor, 4 +logtrap-ag, logtrap, 4 +lurkerm-piston-ag, lurkerm-piston, 4 +lurkerm-tall-sail-ag, lurkerm-tall-sail, 4 +maindoor-ag, maindoor, 4 +medres-firecanyon-ag, medres-firecanyon, 4 +periscope-ag, periscope, 4 +plat-button-ag, plat-button, 4 +plat-eco-ag-JUN, plat-eco, 4 +plat-eco-ag-MIS, plat-eco, 4 +plat-eco-ag-ROB, plat-eco, 4 +plat-eco-ag-TRA, plat-eco, 4 +precurbridge-ag, precurbridge, 4 +reflector-mirror-ag, reflector-mirror, 4 +ropebridge-52-ag, ropebridge-52, 4 +ropebridge-70-ag, ropebridge-70, 4 +sidedoor-ag, sidedoor, 4 +towertop-ag, towertop, 4 +water-anim-jungle-ag, water-anim-jungle, 4 +jungle-vis, jungle-vis, 4 +target-racer-h-L1-RACERP, target-racer-h, 3 +target-racer-h-FIC-LAV-MIS-OGR-ROL, target-racer-h, 3 +racer-part, racer-part, 3 +racer, racer, 3 +target-racer-L1-RACERP, target-racer, 3 +target-racer-FIC-LAV-MIS-OGR-ROL, target-racer, 3 +racer-states-L1-RACERP, racer-states, 3 +racer-states-FIC-LAV-MIS-OGR-ROL, racer-states, 3 +collide-reaction-racer, collide-reaction-racer, 3 +eichar-racer+0-ag, eichar-racer+0, 4 +tpage-1119, tpage-1119, 4 +blocking-plane, blocking-plane, 3 +flut-part, flut-part, 3 +flutflut, flutflut, 3 +target-flut, target-flut, 3 +eichar-flut+0-ag, eichar-flut+0, 4 +farmer, farmer, 3 +explorer, explorer, 3 +assistant, assistant, 3 +sage, sage, 3 +yakow, yakow, 3 +village-obs-L1, village-obs, 3 +village-obs-VI1, village-obs, 3 +fishermans-boat, fishermans-boat, 3 +village1-part, village1-part, 3 +village1-part2, village1-part2, 3 +sequence-a-village1, sequence-a-village1, 3 +training-obs, training-obs, 3 +training-part, training-part, 3 +misty-obs, misty-obs, 3 +misty-warehouse, misty-warehouse, 3 +misty-conveyor, misty-conveyor, 3 +mud, mud, 3 +muse, muse, 3 +bonelurker, bonelurker, 3 +quicksandlurker, quicksandlurker, 3 +misty-teetertotter, misty-teetertotter, 3 +balloonlurker, balloonlurker, 3 +misty-part, misty-part, 3 +sidekick-human, sidekick-human, 3 +firecanyon-part, firecanyon-part, 3 +assistant-firecanyon, assistant-firecanyon, 3 +village2-part, village2-part, 3 +village2-obs, village2-obs, 3 +village2-part2, village2-part2, 3 +gambler, gambler, 3 +warrior, warrior, 3 +geologist, geologist, 3 +swamp-blimp, swamp-blimp, 3 +sage-bluehut, sage-bluehut, 3 +flutflut-bluehut, flutflut-bluehut, 3 +assistant-village2, assistant-village2, 3 +sunken-elevator, sunken-elevator, 3 +swamp-obs, swamp-obs, 3 +swamp-bat, swamp-bat, 3 +swamp-rat, swamp-rat, 3 +swamp-rat-nest, swamp-rat-nest, 3 +kermit, kermit, 3 +swamp-part, swamp-part, 3 +billy, billy, 3 +cavecrystal-light, cavecrystal-light, 3 +maincave-obs, maincave-obs, 3 +maincave-part, maincave-part, 3 +spiderwebs, spiderwebs, 3 +dark-crystal, dark-crystal, 3 +baby-spider, baby-spider, 3 +mother-spider-h, mother-spider-h, 3 +mother-spider-egg, mother-spider-egg, 3 +mother-spider-proj, mother-spider-proj, 3 +mother-spider, mother-spider, 3 +gnawer, gnawer, 3 +driller-lurker, driller-lurker, 3 +sunken-part, sunken-part, 3 +sunken-part2, sunken-part2, 3 +sunken-part3, sunken-part3, 3 +sunken-part4, sunken-part4, 3 +sunken-part5, sunken-part5, 3 +target-tube, target-tube, 3 +eichar-tube+0-ag-L1-SUNKEN, eichar-tube+0, 4 +eichar-tube+0-ag-SUN, eichar-tube+0, 4 +sunken-obs, sunken-obs, 3 +shover, shover, 3 +square-platform, square-platform, 3 +sun-iris-door, sun-iris-door, 3 +orbit-plat, orbit-plat, 3 +wedge-plats, wedge-plats, 3 +wall-plat, wall-plat, 3 +qbert-plat, qbert-plat, 3 +steam-cap, steam-cap, 3 +sun-exit-chamber, sun-exit-chamber, 3 +floating-launcher, floating-launcher, 3 +sunken-water, sunken-water, 3 +whirlpool, whirlpool, 3 +sunken-pipegame, sunken-pipegame, 3 +bully, bully, 3 +double-lurker, double-lurker, 3 +helix-water, helix-water, 3 +puffer, puffer, 3 +sunken-fish, sunken-fish, 3 +rolling-obs, rolling-obs, 3 +rolling-lightning-mole, rolling-lightning-mole, 3 +rolling-robber, rolling-robber, 3 +rolling-race-ring, rolling-race-ring, 3 +firecanyon-obs, firecanyon-obs, 3 +ogre-part, ogre-part, 3 +ogreboss, ogreboss, 3 +ogre-obs, ogre-obs, 3 +flying-lurker, flying-lurker, 3 +village3-part, village3-part, 3 +village3-obs, village3-obs, 3 +minecart, minecart, 3 +miners, miners, 3 +assistant-village3, assistant-village3, 3 +sage-village3, sage-village3, 3 +cave-trap, cave-trap, 3 +spider-egg, spider-egg, 3 +robocave-part, robocave-part, 3 +target-snowball, target-snowball, 3 +target-ice, target-ice, 3 +ice-cube, ice-cube, 3 +snow-ball, snow-ball, 3 +snow-obs, snow-obs, 3 +snow-flutflut-obs, snow-flutflut-obs, 3 +snow-bumper, snow-bumper, 3 +snow-ram-h, snow-ram-h, 3 +snow-ram-boss, snow-ram-boss, 3 +snow-ram, snow-ram, 3 +snow-part, snow-part, 3 +yeti, yeti, 3 +eichar-pole+0-ag-L1, eichar-pole+0, 4 +eichar-pole+0-ag-ROB, eichar-pole+0, 4 +eichar-pole+0-ag-SNO, eichar-pole+0, 4 +eichar-pole+0-ag-SWA, eichar-pole+0, 4 +eichar-ice+0-ag, eichar-ice+0, 4 +lavatube-obs, lavatube-obs, 3 +lavatube-energy, lavatube-energy, 3 +lavatube-part, lavatube-part, 3 +assistant-lavatube, assistant-lavatube, 3 +tpage-815, tpage-815, 4 +tpage-822, tpage-822, 4 +tpage-854, tpage-854, 4 +tpage-1123, tpage-1123, 4 +assistant-firecanyon-ag, assistant-firecanyon, 4 +balloon-ag, balloon, 4 +crate-darkeco-cluster-ag-FIC, crate-darkeco-cluster, 4 +crate-darkeco-cluster-ag-OGR, crate-darkeco-cluster, 4 +ef-plane-ag-FIC-LAV-OGR-ROL-SNO-SWA, ef-plane, 4 +ef-plane-ag-MIS, ef-plane, 4 +racer-ag-FIC-ROL, racer, 4 +racer-ag-LAV, racer, 4 +racer-ag-MIS, racer, 4 +racer-ag-OGR, racer, 4 +spike-ag, spike, 4 +firecanyon-vis, firecanyon-vis, 4 +tpage-1338, tpage-1338, 4 +tpage-1340, tpage-1340, 4 +tpage-1339, tpage-1339, 4 +tpage-1337, tpage-1337, 4 +assistant-lavatube-start-ag, assistant-lavatube-start, 4 +chainmine-ag, chainmine, 4 +darkecobarrel-ag, darkecobarrel, 4 +energyarm-ag, energyarm, 4 +energyball-ag, energyball, 4 +energybase-ag, energybase, 4 +energydoor-ag, energydoor, 4 +energyhub-ag, energyhub, 4 +lavaballoon-ag, lavaballoon, 4 +lavabase-ag, lavabase, 4 +lavafall-ag, lavafall, 4 +lavafallsewera-ag, lavafallsewera, 4 +lavafallsewerb-ag, lavafallsewerb, 4 +lavashortcut-ag, lavashortcut, 4 +lavayellowtarp-ag, lavayellowtarp, 4 +water-anim-lavatube-ag, water-anim-lavatube, 4 +lavatube-vis, lavatube-vis, 4 +tpage-1313, tpage-1313, 4 +tpage-1315, tpage-1315, 4 +tpage-1314, tpage-1314, 4 +tpage-1312, tpage-1312, 4 +tpage-767, tpage-767, 4 +driller-lurker-ag, driller-lurker, 4 +gnawer-ag, gnawer, 4 +launcherdoor-maincave-ag, launcherdoor-maincave, 4 +maincavecam-ag, maincavecam, 4 +plat-ag-MAI, plat, 4 +plat-ag-ROB, plat, 4 +spiderwebs-ag, spiderwebs, 4 +water-anim-maincave-ag, water-anim-maincave, 4 +water-anim-maincave-water-ag, water-anim-maincave-water, 4 +maincave-vis, maincave-vis, 4 +tpage-516, tpage-516, 4 +tpage-521, tpage-521, 4 +tpage-518, tpage-518, 4 +tpage-520, tpage-520, 4 +balloonlurker-ag, balloonlurker, 4 +boatpaddle-ag, boatpaddle, 4 +bonelurker-ag, bonelurker, 4 +breakaway-left-ag, breakaway-left, 4 +breakaway-mid-ag, breakaway-mid, 4 +breakaway-right-ag, breakaway-right, 4 +darkecocan-ag, darkecocan, 4 +keg-ag, keg, 4 +keg-conveyor-ag, keg-conveyor, 4 +keg-conveyor-paddle-ag, keg-conveyor-paddle, 4 +mis-bone-bridge-ag, mis-bone-bridge, 4 +mis-bone-platform-ag, mis-bone-platform, 4 +mistycam-ag, mistycam, 4 +muse-ag, muse, 4 +quicksandlurker-ag, quicksandlurker, 4 +ropebridge-36-ag, ropebridge-36, 4 +rounddoor-ag, rounddoor, 4 +sidekick-human-ag, sidekick-human, 4 +silostep-ag, silostep, 4 +teetertotter-ag, teetertotter, 4 +water-anim-misty-ag, water-anim-misty, 4 +wheel-ag, wheel, 4 +windturbine-ag, windturbine, 4 +misty-vis, misty-vis, 4 +tpage-875, tpage-875, 4 +tpage-967, tpage-967, 4 +tpage-884, tpage-884, 4 +tpage-1117, tpage-1117, 4 +flying-lurker-ag, flying-lurker, 4 +medres-snow-ag, medres-snow, 4 +ogre-bridge-ag, ogre-bridge, 4 +ogre-bridgeend-ag, ogre-bridgeend, 4 +ogre-isle-ag, ogre-isle, 4 +ogre-step-ag, ogre-step, 4 +ogreboss-ag, ogreboss, 4 +ogrecam-ag, ogrecam, 4 +plunger-lurker-ag, plunger-lurker, 4 +shortcut-boulder-ag, shortcut-boulder, 4 +tntbarrel-ag, tntbarrel, 4 +water-anim-ogre-ag, water-anim-ogre, 4 +ogre-vis, ogre-vis, 4 +tpage-1318, tpage-1318, 4 +tpage-1319, tpage-1319, 4 +tpage-1317, tpage-1317, 4 +tpage-1316, tpage-1316, 4 +cavecrusher-ag, cavecrusher, 4 +cavespatulatwo-ag, cavespatulatwo, 4 +water-anim-robocave-ag, water-anim-robocave, 4 +robocave-vis, robocave-vis, 4 +tpage-923, tpage-923, 4 +tpage-926, tpage-926, 4 +tpage-924, tpage-924, 4 +tpage-925, tpage-925, 4 +tpage-1353, tpage-1353, 4 +dark-plant-ag, dark-plant, 4 +happy-plant-ag, happy-plant, 4 +lightning-mole-ag, lightning-mole, 4 +pusher-ag, pusher, 4 +race-ring-ag, race-ring, 4 +robber-ag, robber, 4 +rolling-start-ag, rolling-start, 4 +rollingcam-ag, rollingcam, 4 +water-anim-rolling-ag, water-anim-rolling, 4 +rolling-vis, rolling-vis, 4 +tpage-710, tpage-710, 4 +tpage-842, tpage-842, 4 +tpage-711, tpage-711, 4 +tpage-712, tpage-712, 4 +flut-saddle-ag-SNO, flut-saddle, 4 +flut-saddle-ag-SWA, flut-saddle, 4 +flutflut-plat-large-ag, flutflut-plat-large, 4 +flutflut-plat-med-ag, flutflut-plat-med, 4 +flutflut-plat-small-ag, flutflut-plat-small, 4 +ice-cube-ag, ice-cube, 4 +ice-cube-break-ag, ice-cube-break, 4 +ram-ag, ram, 4 +ram-boss-ag, ram-boss, 4 +snow-ball-ag, snow-ball, 4 +snow-bridge-36-ag, snow-bridge-36, 4 +snow-bumper-ag, snow-bumper, 4 +snow-bunny-ag, snow-bunny, 4 +snow-button-ag, snow-button, 4 +snow-eggtop-ag, snow-eggtop, 4 +snow-fort-gate-ag, snow-fort-gate, 4 +snow-gears-ag, snow-gears, 4 +snow-log-ag, snow-log, 4 +snow-spatula-ag, snow-spatula, 4 +snow-switch-ag, snow-switch, 4 +snowcam-ag, snowcam, 4 +snowpusher-ag, snowpusher, 4 +yeti-ag, yeti, 4 +snow-vis, snow-vis, 4 +tpage-163, tpage-163, 4 +tpage-164, tpage-164, 4 +tpage-166, tpage-166, 4 +tpage-162, tpage-162, 4 +tpage-764, tpage-764, 4 +blue-eco-charger-ag, blue-eco-charger, 4 +blue-eco-charger-orb-ag, blue-eco-charger-orb, 4 +bully-ag, bully, 4 +floating-launcher-ag, floating-launcher, 4 +helix-button-ag, helix-button, 4 +helix-slide-door-ag, helix-slide-door, 4 +shover-ag-SUB, shover, 4 +shover-ag-SUN, shover, 4 +steam-cap-ag-SUB, steam-cap, 4 +steam-cap-ag-SUN, steam-cap, 4 +sunkencam-ag-SUB, sunkencam, 4 +sunkencam-ag-SUN, sunkencam, 4 +sunkenfisha-ag, sunkenfisha, 4 +wall-plat-ag, wall-plat, 4 +water-anim-sunken-ag, water-anim-sunken, 4 +water-anim-sunken-dark-eco-ag, water-anim-sunken-dark-eco, 4 +sunkenb-vis, sunkenb-vis, 4 +tpage-661, tpage-661, 4 +tpage-663, tpage-663, 4 +tpage-714, tpage-714, 4 +tpage-662, tpage-662, 4 +tpage-766, tpage-766, 4 +double-lurker-ag, double-lurker, 4 +double-lurker-top-ag, double-lurker-top, 4 +exit-chamber-ag, exit-chamber, 4 +generic-button-ag, generic-button, 4 +orbit-plat-ag, orbit-plat, 4 +orbit-plat-bottom-ag, orbit-plat-bottom, 4 +plat-sunken-ag, plat-sunken, 4 +puffer-ag, puffer, 4 +qbert-plat-ag, qbert-plat, 4 +qbert-plat-on-ag, qbert-plat-on, 4 +seaweed-ag, seaweed, 4 +side-to-side-plat-ag, side-to-side-plat, 4 +square-platform-ag, square-platform, 4 +sun-iris-door-ag, sun-iris-door, 4 +wedge-plat-ag, wedge-plat, 4 +wedge-plat-outer-ag, wedge-plat-outer, 4 +whirlpool-ag, whirlpool, 4 +sunken-vis, sunken-vis, 4 +tpage-358, tpage-358, 4 +tpage-659, tpage-659, 4 +tpage-629, tpage-629, 4 +tpage-630, tpage-630, 4 +balance-plat-ag, balance-plat, 4 +billy-ag, billy, 4 +billy-sidekick-ag, billy-sidekick, 4 +farthy-snack-ag, farthy-snack, 4 +kermit-ag, kermit, 4 +swamp-bat-ag, swamp-bat, 4 +swamp-rat-ag, swamp-rat, 4 +swamp-rat-nest-ag, swamp-rat-nest, 4 +swamp-rock-ag, swamp-rock, 4 +swamp-spike-ag, swamp-spike, 4 +swampcam-ag-SWA, swampcam, 4 +swampcam-ag-VI2, swampcam, 4 +tar-plat-ag, tar-plat, 4 +swamp-vis, swamp-vis, 4 +title-obs, title-obs, 3 +tpage-1609, tpage-1609, 4 +tpage-416, tpage-416, 4 +tpage-415, tpage-415, 4 +tpage-397, tpage-397, 4 +tpage-1499, tpage-1499, 4 +logo-ag, logo, 4 +logo-black-ag, logo-black, 4 +logo-cam-ag, logo-cam, 4 +logo-volumes-ag, logo-volumes, 4 +ndi-ag, ndi, 4 +ndi-cam-ag, ndi-cam, 4 +ndi-volumes-ag, ndi-volumes, 4 +title-vis, title-vis, 4 +tpage-1309, tpage-1309, 4 +tpage-1311, tpage-1311, 4 +tpage-1310, tpage-1310, 4 +tpage-1308, tpage-1308, 4 +tpage-775, tpage-775, 4 +pontoonfive-ag-TRA, pontoonfive, 4 +pontoonfive-ag-VI2, pontoonfive, 4 +scarecrow-a-ag, scarecrow-a, 4 +scarecrow-b-ag, scarecrow-b, 4 +trainingcam-ag, trainingcam, 4 +water-anim-training-ag, water-anim-training, 4 +training-vis, training-vis, 4 +tpage-398, tpage-398, 4 +tpage-400, tpage-400, 4 +tpage-399, tpage-399, 4 +tpage-401, tpage-401, 4 +tpage-1470, tpage-1470, 4 +assistant-ag, assistant, 4 +evilplant-ag, evilplant, 4 +explorer-ag, explorer, 4 +farmer-ag, farmer, 4 +fishermans-boat-ag, fishermans-boat, 4 +hutlamp-ag, hutlamp, 4 +mayorgears-ag, mayorgears, 4 +medres-beach-ag, medres-beach, 4 +medres-beach1-ag, medres-beach1, 4 +medres-beach2-ag, medres-beach2, 4 +medres-beach3-ag, medres-beach3, 4 +medres-jungle-ag, medres-jungle, 4 +medres-jungle1-ag, medres-jungle1, 4 +medres-jungle2-ag, medres-jungle2, 4 +medres-misty-ag, medres-misty, 4 +medres-training-ag, medres-training, 4 +medres-village11-ag, medres-village11, 4 +medres-village12-ag, medres-village12, 4 +medres-village13-ag, medres-village13, 4 +oracle-ag-VI1, oracle, 4 +oracle-ag-VI2, oracle, 4 +oracle-ag-VI3, oracle, 4 +reflector-middle-ag, reflector-middle, 4 +revcycle-ag, revcycle, 4 +revcycleprop-ag, revcycleprop, 4 +ropebridge-32-ag, ropebridge-32, 4 +sage-ag, sage, 4 +sagesail-ag, sagesail, 4 +villa-starfish-ag, villa-starfish, 4 +village-cam-ag-VI1, village-cam, 4 +village-cam-ag-VI2, village-cam, 4 +village-cam-ag-VI3, village-cam, 4 +village1cam-ag, village1cam, 4 +water-anim-village1-ag, water-anim-village1, 4 +windmill-sail-ag, windmill-sail, 4 +windspinner-ag, windspinner, 4 +yakow-ag, yakow, 4 +village1-vis, village1-vis, 4 +tpage-919, tpage-919, 4 +tpage-922, tpage-922, 4 +tpage-920, tpage-920, 4 +tpage-921, tpage-921, 4 +tpage-1476, tpage-1476, 4 +allpontoons-ag, allpontoons, 4 +assistant-village2-ag, assistant-village2, 4 +ceilingflag-ag, ceilingflag, 4 +exit-chamber-dummy-ag, exit-chamber-dummy, 4 +fireboulder-ag, fireboulder, 4 +flutflut-bluehut-ag, flutflut-bluehut, 4 +gambler-ag, gambler, 4 +geologist-ag, geologist, 4 +jaws-ag, jaws, 4 +medres-rolling-ag, medres-rolling, 4 +medres-rolling1-ag, medres-rolling1, 4 +medres-village2-ag, medres-village2, 4 +ogreboss-village2-ag, ogreboss-village2, 4 +pontoonten-ag, pontoonten, 4 +precursor-arm-ag, precursor-arm, 4 +sage-bluehut-ag, sage-bluehut, 4 +sunken-elevator-ag, sunken-elevator, 4 +swamp-blimp-ag, swamp-blimp, 4 +swamp-rope-ag, swamp-rope, 4 +swamp-tetherrock-ag, swamp-tetherrock, 4 +swamp-tetherrock-explode-ag, swamp-tetherrock-explode, 4 +village2cam-ag, village2cam, 4 +warrior-ag, warrior, 4 +water-anim-village2-ag, water-anim-village2, 4 +village2-vis, village2-vis, 4 +tpage-1208, tpage-1208, 4 +tpage-1210, tpage-1210, 4 +tpage-1209, tpage-1209, 4 +tpage-1194, tpage-1194, 4 +assistant-village3-ag, assistant-village3, 4 +cavegem-ag, cavegem, 4 +evilbro-village3-ag, evilbro-village3, 4 +evilsis-village3-ag, evilsis-village3, 4 +gondola-ag, gondola, 4 +gondolacables-ag, gondolacables, 4 +lavaspoutdrip-ag, lavaspoutdrip, 4 +medres-finalboss-ag, medres-finalboss, 4 +medres-ogre-ag, medres-ogre, 4 +medres-ogre2-ag, medres-ogre2, 4 +medres-ogre3-ag, medres-ogre3, 4 +minecartsteel-ag, minecartsteel, 4 +minershort-ag, minershort, 4 +minertall-ag, minertall, 4 +pistons-ag, pistons, 4 +sage-village3-ag, sage-village3, 4 +vil3-bridge-36-ag, vil3-bridge-36, 4 +water-anim-village3-ag, water-anim-village3, 4 +village3-vis, village3-vis, 4 +lava, lava, 3 \ No newline at end of file diff --git a/goal_src/build/dgos.txt b/goal_src/build/dgos.txt new file mode 100644 index 000000000..8be3c4897 --- /dev/null +++ b/goal_src/build/dgos.txt @@ -0,0 +1,1909 @@ +;; DGO File Listing +;; This file lists the object files found in each CGO/DGO and will be used to build DGO/CGO files. + +;; Each entry contains the CGO/DGO name, followed by a list of objects. Each object is a pair of filename, dgo-name. +;; The file name is used to find the file in data/, and the dgo name is what goes into the DGO itself. +;; This order is _not_ the compile order, but the order the files are placed in the CGO/DGO and loaded + +;; The naming scheme for filenames works like this: +;; start with the dgo name +;; if an "art-group", append -ag (many art groups have the same name as code for thing they contain art for) +;; if multiple objects with the same name exist, but different data, append names of DGOs that each are found in. +;; if v3, extension of object file is .o, otherwise .go +;; this gets us unique names for all unique objects. There is no case of two objects with the same data and same name. +;; (note that the "-ag" trick is required for this to work!) + +;; Example: "fisher-ag.go", v4, art group. Only one version exists. +;; Example: "fisher-JUNGLE-L1.o", v3, not art group. Multiple versions exist, this one is for JUNGLE.CGO and L1.CGO + +("ART.CGO" + ("dir-tpages.go" "dir-tpages") + ("tpage-463.go" "tpage-463") + ("tpage-2.go" "tpage-2") + ("tpage-880.go" "tpage-880") + ("tpage-256.go" "tpage-256") + ("tpage-1278.go" "tpage-1278") + ("texture-upload.o" "texture-upload") + ("tpage-1032.go" "tpage-1032") + ("tpage-62.go" "tpage-62") + ("tpage-1532.go" "tpage-1532") + ("fuel-cell-ag.go" "fuel-cell") + ("money-ag.go" "money") + ("buzzer-ag.go" "buzzer") + ("ecovalve-ag-ART-GAME.go" "ecovalve") + ("crate-ag.go" "crate") + ("speaker-ag.go" "speaker") + ("fuelcell-naked-ag.go" "fuelcell-naked") + ("eichar-ag.go" "eichar") + ("sidekick-ag.go" "sidekick") + ("deathcam-ag.go" "deathcam") + ("game-cnt.go" "game-cnt") + ) + +("BEA.DGO" + ("mistycannon.o" "mistycannon") + ("babak-with-cannon.o" "babak-with-cannon") + ("air-h.o" "air-h") + ("air.o" "air") + ("wobbler.o" "wobbler") + ("twister.o" "twister") + ("beach-obs.o" "beach-obs") + ("bird-lady.o" "bird-lady") + ("bird-lady-beach.o" "bird-lady-beach") + ("mayor.o" "mayor") + ("sculptor.o" "sculptor") + ("pelican.o" "pelican") + ("lurkerworm.o" "lurkerworm") + ("lurkercrab.o" "lurkercrab") + ("lurkerpuppy.o" "lurkerpuppy") + ("beach-rocks.o" "beach-rocks") + ("seagull.o" "seagull") + ("beach-part.o" "beach-part") + ("tpage-212.go" "tpage-212") + ("tpage-214.go" "tpage-214") + ("tpage-213.go" "tpage-213") + ("tpage-215.go" "tpage-215") + ("babak-ag.go" "babak") + ("barrel-ag-BEA.go" "barrel") + ("beachcam-ag.go" "beachcam") + ("bird-lady-ag.go" "bird-lady") + ("bird-lady-beach-ag.go" "bird-lady-beach") + ("bladeassm-ag.go" "bladeassm") + ("ecovalve-ag-BEA.go" "ecovalve") + ("ecoventrock-ag.go" "ecoventrock") + ("flutflut-ag.go" "flutflut") + ("flutflutegg-ag.go" "flutflutegg") + ("grottopole-ag.go" "grottopole") + ("harvester-ag.go" "harvester") + ("kickrock-ag.go" "kickrock") + ("lrocklrg-ag.go" "lrocklrg") + ("lurkercrab-ag.go" "lurkercrab") + ("lurkerpuppy-ag.go" "lurkerpuppy") + ("lurkerworm-ag.go" "lurkerworm") + ("mayor-ag.go" "mayor") + ("mistycannon-ag.go" "mistycannon") + ("orb-cache-top-ag-BEA.go" "orb-cache-top") + ("pelican-ag.go" "pelican") + ("sack-ag-BEA.go" "sack") + ("sculptor-ag.go" "sculptor") + ("sculptor-muse-ag.go" "sculptor-muse") + ("seagull-ag.go" "seagull") + ("sharkey-ag-BEA-TRA-VI2.go" "sharkey") + ("windmill-one-ag.go" "windmill-one") + ("beach-vis.go" "beach-vis") + ) + +("CIT.DGO" + ("villagep-obs.o" "villagep-obs") + ("oracle.o" "oracle") + ("battlecontroller.o" "battlecontroller") + ("citadel-part.o" "citadel-part") + ("citadel-obs.o" "citadel-obs") + ("citb-plat.o" "citb-plat") + ("citadel-sages.o" "citadel-sages") + ("snow-bunny.o" "snow-bunny") + ("citb-bunny.o" "citb-bunny") + ("citb-drop-plat-CIT.o" "citb-drop-plat") + ("assistant-citadel.o" "assistant-citadel") + ("tpage-1415.go" "tpage-1415") + ("tpage-1417.go" "tpage-1417") + ("tpage-1416.go" "tpage-1416") + ("tpage-1414.go" "tpage-1414") + ("assistant-lavatube-end-ag.go" "assistant-lavatube-end") + ("babak-ag.go" "babak") + ("bluesage-ag.go" "bluesage") + ("citadelcam-ag.go" "citadelcam") + ("citb-arm-ag.go" "citb-arm") + ("citb-arm-shoulder-ag.go" "citb-arm-shoulder") + ("citb-bunny-ag.go" "citb-bunny") + ("citb-button-ag.go" "citb-button") + ("citb-chain-plat-ag.go" "citb-chain-plat") + ("citb-chains-ag.go" "citb-chains") + ("citb-coil-ag.go" "citb-coil") + ("citb-disc-ag.go" "citb-disc") + ("citb-donut-ag.go" "citb-donut") + ("citb-drop-plat-ag.go" "citb-drop-plat") + ("citb-exit-plat-ag.go" "citb-exit-plat") + ("citb-firehose-ag.go" "citb-firehose") + ("citb-generator-ag.go" "citb-generator") + ("citb-hose-ag.go" "citb-hose") + ("citb-iris-door-ag.go" "citb-iris-door") + ("citb-launcher-ag.go" "citb-launcher") + ("citb-robotboss-ag.go" "citb-robotboss") + ("citb-rotatebox-ag.go" "citb-rotatebox") + ("citb-sagecage-ag.go" "citb-sagecage") + ("citb-stopbox-ag.go" "citb-stopbox") + ("ecovalve-ag-CIT.go" "ecovalve") + ("evilbro-citadel-ag.go" "evilbro-citadel") + ("evilsis-citadel-ag.go" "evilsis-citadel") + ("green-sagecage-ag.go" "green-sagecage") + ("orb-cache-top-ag-CIT.go" "orb-cache-top") + ("plat-citb-ag.go" "plat-citb") + ("plat-eco-citb-ag.go" "plat-eco-citb") + ("redsage-ag.go" "redsage") + ("warp-gate-switch-ag-CIT.go" "warp-gate-switch") + ("warpgate-ag.go" "warpgate") + ("yellowsage-ag.go" "yellowsage") + ("citadel-vis.go" "citadel-vis") + ) + +("COMMON.CGO" + ("rigid-body-h.o" "rigid-body-h") + ("water-anim.o" "water-anim") + ("dark-eco-pool.o" "dark-eco-pool") + ("rigid-body.o" "rigid-body") + ("nav-enemy-h.o" "nav-enemy-h") + ("nav-enemy.o" "nav-enemy") + ("baseplat.o" "baseplat") + ("basebutton.o" "basebutton") + ("tippy.o" "tippy") + ("joint-exploder.o" "joint-exploder") + ("babak.o" "babak") + ("sharkey.o" "sharkey") + ("orb-cache.o" "orb-cache") + ("plat.o" "plat") + ("plat-button.o" "plat-button") + ("plat-eco.o" "plat-eco") + ("ropebridge.o" "ropebridge") + ("ticky.o" "ticky") + ) + +("DAR.DGO" + ("darkcave-obs.o" "darkcave-obs") + ("tpage-1306.go" "tpage-1306") + ("tpage-1307.go" "tpage-1307") + ("tpage-1305.go" "tpage-1305") + ("tpage-1304.go" "tpage-1304") + ("tpage-1352.go" "tpage-1352") + ("baby-spider-ag-DAR.go" "baby-spider") + ("cavecrystal-ag.go" "cavecrystal") + ("caveelevator-ag.go" "caveelevator") + ("cavespatula-darkcave-ag.go" "cavespatula-darkcave") + ("cavetrapdoor-ag-DAR.go" "cavetrapdoor") + ("dark-crystal-ag.go" "dark-crystal") + ("mother-spider-ag.go" "mother-spider") + ("spider-egg-ag-DAR-MAI.go" "spider-egg") + ("water-anim-darkcave-ag.go" "water-anim-darkcave") + ("darkcave-vis.go" "darkcave-vis") + ) + +("DEM.DGO" + ("demo-obs.o" "demo-obs") + ("tpage-1485.go" "tpage-1485") + ("tpage-1486.go" "tpage-1486") + ("tpage-1487.go" "tpage-1487") + ("tpage-1599.go" "tpage-1599") + ("tpage-1600.go" "tpage-1600") + ("tpage-1601.go" "tpage-1601") + ("tpage-1602.go" "tpage-1602") + ("tpage-1603.go" "tpage-1603") + ("tpage-1604.go" "tpage-1604") + ("tpage-1605.go" "tpage-1605") + ("tpage-1606.go" "tpage-1606") + ("tpage-1607.go" "tpage-1607") + ("static-screen.o" "static-screen") + ("tpage-1480.go" "tpage-1480") + ("tpage-1479.go" "tpage-1479") + ("demo-vis.go" "demo-vis") + ) + +("ENGINE.CGO" + ("types-h.o" "types-h") + ("vu1-macros.o" "vu1-macros") + ("math.o" "math") + ("vector-h.o" "vector-h") + ("gravity-h.o" "gravity-h") + ("bounding-box-h.o" "bounding-box-h") + ("matrix-h.o" "matrix-h") + ("quaternion-h.o" "quaternion-h") + ("euler-h.o" "euler-h") + ("transform-h.o" "transform-h") + ("geometry-h.o" "geometry-h") + ("trigonometry-h.o" "trigonometry-h") + ("transformq-h.o" "transformq-h") + ("bounding-box.o" "bounding-box") + ("matrix.o" "matrix") + ("transform.o" "transform") + ("quaternion.o" "quaternion") + ("euler.o" "euler") + ("geometry.o" "geometry") + ("trigonometry.o" "trigonometry") + ("gsound-h.o" "gsound-h") + ("timer-h.o" "timer-h") + ("timer.o" "timer") + ("vif-h.o" "vif-h") + ("dma-h.o" "dma-h") + ("video-h.o" "video-h") + ("vu1-user-h.o" "vu1-user-h") + ("dma.o" "dma") + ("dma-buffer.o" "dma-buffer") + ("dma-bucket.o" "dma-bucket") + ("dma-disasm.o" "dma-disasm") + ("pad.o" "pad") + ("gs.o" "gs") + ("display-h.o" "display-h") + ("vector.o" "vector") + ("file-io.o" "file-io") + ("loader-h.o" "loader-h") + ("texture-h.o" "texture-h") + ("level-h.o" "level-h") + ("math-camera-h.o" "math-camera-h") + ("math-camera.o" "math-camera") + ("font-h.o" "font-h") + ("decomp-h.o" "decomp-h") + ("display.o" "display") + ("connect.o" "connect") + ("text-h.o" "text-h") + ("settings-h.o" "settings-h") + ("capture.o" "capture") + ("memory-usage-h.o" "memory-usage-h") + ("texture.o" "texture") + ("main-h.o" "main-h") + ("mspace-h.o" "mspace-h") + ("drawable-h.o" "drawable-h") + ("drawable-group-h.o" "drawable-group-h") + ("drawable-inline-array-h.o" "drawable-inline-array-h") + ("draw-node-h.o" "draw-node-h") + ("drawable-tree-h.o" "drawable-tree-h") + ("drawable-actor-h.o" "drawable-actor-h") + ("drawable-ambient-h.o" "drawable-ambient-h") + ("game-task-h.o" "game-task-h") + ("hint-control-h.o" "hint-control-h") + ("generic-h.o" "generic-h") + ("lights-h.o" "lights-h") + ("ocean-h.o" "ocean-h") + ("ocean-trans-tables.o" "ocean-trans-tables") + ("ocean-tables.o" "ocean-tables") + ("ocean-frames.o" "ocean-frames") + ("sky-h.o" "sky-h") + ("mood-h.o" "mood-h") + ("time-of-day-h.o" "time-of-day-h") + ("art-h.o" "art-h") + ("generic-vu1-h.o" "generic-vu1-h") + ("merc-h.o" "merc-h") + ("generic-merc-h.o" "generic-merc-h") + ("generic-tie-h.o" "generic-tie-h") + ("generic-work-h.o" "generic-work-h") + ("shadow-cpu-h.o" "shadow-cpu-h") + ("shadow-vu1-h.o" "shadow-vu1-h") + ("memcard-h.o" "memcard-h") + ("game-info-h.o" "game-info-h") + ("wind-h.o" "wind-h") + ("prototype-h.o" "prototype-h") + ("joint-h.o" "joint-h") + ("bones-h.o" "bones-h") + ("engines.o" "engines") + ("res-h.o" "res-h") + ("res.o" "res") + ("lights.o" "lights") + ("dynamics-h.o" "dynamics-h") + ("surface-h.o" "surface-h") + ("pat-h.o" "pat-h") + ("fact-h.o" "fact-h") + ("aligner-h.o" "aligner-h") + ("game-h.o" "game-h") + ("generic-obs-h.o" "generic-obs-h") + ("pov-camera-h.o" "pov-camera-h") + ("sync-info-h.o" "sync-info-h") + ("smush-control-h.o" "smush-control-h") + ("trajectory-h.o" "trajectory-h") + ("debug-h.o" "debug-h") + ("joint-mod-h.o" "joint-mod-h") + ("collide-func-h.o" "collide-func-h") + ("collide-mesh-h.o" "collide-mesh-h") + ("collide-shape-h.o" "collide-shape-h") + ("collide-target-h.o" "collide-target-h") + ("collide-touch-h.o" "collide-touch-h") + ("collide-edge-grab-h.o" "collide-edge-grab-h") + ("process-drawable-h.o" "process-drawable-h") + ("effect-control-h.o" "effect-control-h") + ("collide-frag-h.o" "collide-frag-h") + ("projectiles-h.o" "projectiles-h") + ("target-h.o" "target-h") + ("depth-cue-h.o" "depth-cue-h") + ("stats-h.o" "stats-h") + ("bsp-h.o" "bsp-h") + ("collide-cache-h.o" "collide-cache-h") + ("collide-h.o" "collide-h") + ("shrubbery-h.o" "shrubbery-h") + ("tie-h.o" "tie-h") + ("tfrag-h.o" "tfrag-h") + ("background-h.o" "background-h") + ("subdivide-h.o" "subdivide-h") + ("entity-h.o" "entity-h") + ("sprite-h.o" "sprite-h") + ("shadow-h.o" "shadow-h") + ("eye-h.o" "eye-h") + ("sparticle-launcher-h.o" "sparticle-launcher-h") + ("sparticle-h.o" "sparticle-h") + ("actor-link-h.o" "actor-link-h") + ("camera-h.o" "camera-h") + ("cam-debug-h.o" "cam-debug-h") + ("cam-interface-h.o" "cam-interface-h") + ("cam-update-h.o" "cam-update-h") + ("assert-h.o" "assert-h") + ("hud-h.o" "hud-h") + ("progress-h.o" "progress-h") + ("rpc-h.o" "rpc-h") + ("path-h.o" "path-h") + ("navigate-h.o" "navigate-h") + ("load-dgo.o" "load-dgo") + ("ramdisk.o" "ramdisk") + ("gsound.o" "gsound") + ("transformq.o" "transformq") + ("collide-func.o" "collide-func") + ("joint.o" "joint") + ("cylinder.o" "cylinder") + ("wind.o" "wind") + ("bsp.o" "bsp") + ("subdivide.o" "subdivide") + ("sprite.o" "sprite") + ("sprite-distort.o" "sprite-distort") + ("debug-sphere.o" "debug-sphere") + ("debug.o" "debug") + ("merc-vu1.o" "merc-vu1") + ("merc-blend-shape.o" "merc-blend-shape") + ("merc.o" "merc") + ("ripple.o" "ripple") + ("bones.o" "bones") + ("generic-vu0.o" "generic-vu0") + ("generic.o" "generic") + ("generic-vu1.o" "generic-vu1") + ("generic-effect.o" "generic-effect") + ("generic-merc.o" "generic-merc") + ("generic-tie.o" "generic-tie") + ("shadow-cpu.o" "shadow-cpu") + ("shadow-vu1.o" "shadow-vu1") + ("depth-cue.o" "depth-cue") + ("font.o" "font") + ("decomp.o" "decomp") + ("background.o" "background") + ("draw-node.o" "draw-node") + ("shrubbery.o" "shrubbery") + ("shrub-work.o" "shrub-work") + ("tfrag-near.o" "tfrag-near") + ("tfrag.o" "tfrag") + ("tfrag-methods.o" "tfrag-methods") + ("tfrag-work.o" "tfrag-work") + ("tie.o" "tie") + ("tie-near.o" "tie-near") + ("tie-work.o" "tie-work") + ("tie-methods.o" "tie-methods") + ("sync-info.o" "sync-info") + ("trajectory.o" "trajectory") + ("sparticle-launcher.o" "sparticle-launcher") + ("sparticle.o" "sparticle") + ("entity-table.o" "entity-table") + ("loader.o" "loader") + ("task-control-h.o" "task-control-h") + ("game-info.o" "game-info") + ("game-save.o" "game-save") + ("settings.o" "settings") + ("mood-tables.o" "mood-tables") + ("mood.o" "mood") + ("weather-part.o" "weather-part") + ("time-of-day.o" "time-of-day") + ("sky-utils.o" "sky-utils") + ("sky.o" "sky") + ("sky-tng.o" "sky-tng") + ("load-boundary-h.o" "load-boundary-h") + ("load-boundary.o" "load-boundary") + ("load-boundary-data.o" "load-boundary-data") + ("level-info.o" "level-info") + ("level.o" "level") + ("text.o" "text") + ("collide-probe.o" "collide-probe") + ("collide-frag.o" "collide-frag") + ("collide-mesh.o" "collide-mesh") + ("collide-touch.o" "collide-touch") + ("collide-edge-grab.o" "collide-edge-grab") + ("collide-shape.o" "collide-shape") + ("collide-shape-rider.o" "collide-shape-rider") + ("collide.o" "collide") + ("collide-planes.o" "collide-planes") + ("merc-death.o" "merc-death") + ("water-h.o" "water-h") + ("camera.o" "camera") + ("cam-interface.o" "cam-interface") + ("cam-master.o" "cam-master") + ("cam-states.o" "cam-states") + ("cam-states-dbg.o" "cam-states-dbg") + ("cam-combiner.o" "cam-combiner") + ("cam-update.o" "cam-update") + ("vol-h.o" "vol-h") + ("cam-layout.o" "cam-layout") + ("cam-debug.o" "cam-debug") + ("cam-start.o" "cam-start") + ("process-drawable.o" "process-drawable") + ("hint-control.o" "hint-control") + ("ambient.o" "ambient") + ("assert.o" "assert") + ("generic-obs.o" "generic-obs") + ("target-util.o" "target-util") + ("target-part.o" "target-part") + ("collide-reaction-target.o" "collide-reaction-target") + ("logic-target.o" "logic-target") + ("sidekick.o" "sidekick") + ("voicebox.o" "voicebox") + ("target-handler.o" "target-handler") + ("target.o" "target") + ("target2.o" "target2") + ("target-death.o" "target-death") + ("menu.o" "menu") + ("drawable.o" "drawable") + ("drawable-group.o" "drawable-group") + ("drawable-inline-array.o" "drawable-inline-array") + ("drawable-tree.o" "drawable-tree") + ("prototype.o" "prototype") + ("main-collide.o" "main-collide") + ("video.o" "video") + ("main.o" "main") + ("collide-cache.o" "collide-cache") + ("relocate.o" "relocate") + ("memory-usage.o" "memory-usage") + ("entity.o" "entity") + ("path.o" "path") + ("vol.o" "vol") + ("navigate.o" "navigate") + ("aligner.o" "aligner") + ("effect-control.o" "effect-control") + ("water.o" "water") + ("collectables-part.o" "collectables-part") + ("collectables.o" "collectables") + ("task-control.o" "task-control") + ("process-taskable.o" "process-taskable") + ("pov-camera.o" "pov-camera") + ("powerups.o" "powerups") + ("crates.o" "crates") + ("hud.o" "hud") + ("hud-classes.o" "hud-classes") + ("progress-static.o" "progress-static") + ("progress-part.o" "progress-part") + ("progress-draw.o" "progress-draw") + ("progress.o" "progress") + ("credits.o" "credits") + ("projectiles.o" "projectiles") + ("ocean.o" "ocean") + ("ocean-vu0.o" "ocean-vu0") + ("ocean-texture.o" "ocean-texture") + ("ocean-mid.o" "ocean-mid") + ("ocean-transition.o" "ocean-transition") + ("ocean-near.o" "ocean-near") + ("shadow.o" "shadow") + ("eye.o" "eye") + ("glist-h.o" "glist-h") + ("glist.o" "glist") + ("anim-tester.o" "anim-tester") + ("viewer.o" "viewer") + ("part-tester.o" "part-tester") + ("default-menu.o" "default-menu") + ) + +("FIC.DGO" + ("target-racer-h-FIC-LAV-MIS-OGR-ROL.o" "target-racer-h") + ("racer-part.o" "racer-part") + ("racer.o" "racer") + ("target-racer-FIC-LAV-MIS-OGR-ROL.o" "target-racer") + ("racer-states-FIC-LAV-MIS-OGR-ROL.o" "racer-states") + ("collide-reaction-racer.o" "collide-reaction-racer") + ("eichar-racer+0-ag.go" "eichar-racer+0") + ("tpage-1119.go" "tpage-1119") + ("blocking-plane.o" "blocking-plane") + ("firecanyon-part.o" "firecanyon-part") + ("assistant-firecanyon.o" "assistant-firecanyon") + ("firecanyon-obs.o" "firecanyon-obs") + ("tpage-815.go" "tpage-815") + ("tpage-822.go" "tpage-822") + ("tpage-854.go" "tpage-854") + ("tpage-1123.go" "tpage-1123") + ("assistant-firecanyon-ag.go" "assistant-firecanyon") + ("babak-ag.go" "babak") + ("balloon-ag.go" "balloon") + ("crate-darkeco-cluster-ag-FIC.go" "crate-darkeco-cluster") + ("ecovalve-ag-FIC-OGR.go" "ecovalve") + ("ef-plane-ag-FIC-LAV-OGR-ROL-SNO-SWA.go" "ef-plane") + ("racer-ag-FIC-ROL.go" "racer") + ("spike-ag.go" "spike") + ("firecanyon-vis.go" "firecanyon-vis") + ) + +("FIN.DGO" + ("robotboss-h.o" "robotboss-h") + ("robotboss-part.o" "robotboss-part") + ("sage-finalboss-part.o" "sage-finalboss-part") + ("light-eco.o" "light-eco") + ("robotboss-weapon.o" "robotboss-weapon") + ("robotboss-misc.o" "robotboss-misc") + ("green-eco-lurker.o" "green-eco-lurker") + ("robotboss.o" "robotboss") + ("final-door.o" "final-door") + ("sage-finalboss-FIN.o" "sage-finalboss") + ("tpage-1419.go" "tpage-1419") + ("tpage-1420.go" "tpage-1420") + ("tpage-634.go" "tpage-634") + ("tpage-1418.go" "tpage-1418") + ("tpage-545.go" "tpage-545") + ("darkecobomb-ag.go" "darkecobomb") + ("ecoclaw-ag.go" "ecoclaw") + ("ecovalve-ag-FIN.go" "ecovalve") + ("finalbosscam-ag.go" "finalbosscam") + ("green-eco-lurker-ag.go" "green-eco-lurker") + ("green-sagecage-ag.go" "green-sagecage") + ("greenshot-ag.go" "greenshot") + ("jak-white-ag.go" "jak-white") + ("light-eco-ag.go" "light-eco") + ("plat-eco-finalboss-ag.go" "plat-eco-finalboss") + ("power-left-ag.go" "power-left") + ("power-right-ag.go" "power-right") + ("powercellalt-ag.go" "powercellalt") + ("redring-ag.go" "redring") + ("robotboss-ag.go" "robotboss") + ("robotboss-blueeco-ag.go" "robotboss-blueeco") + ("robotboss-cinematic-ag.go" "robotboss-cinematic") + ("robotboss-redeco-ag.go" "robotboss-redeco") + ("robotboss-yelloweco-ag.go" "robotboss-yelloweco") + ("silodoor-ag.go" "silodoor") + ("water-anim-finalboss-ag.go" "water-anim-finalboss") + ("finalboss-vis.go" "finalboss-vis") + ) + +("GAME.CGO" + ("types-h.o" "types-h") + ("vu1-macros.o" "vu1-macros") + ("math.o" "math") + ("vector-h.o" "vector-h") + ("gravity-h.o" "gravity-h") + ("bounding-box-h.o" "bounding-box-h") + ("matrix-h.o" "matrix-h") + ("quaternion-h.o" "quaternion-h") + ("euler-h.o" "euler-h") + ("transform-h.o" "transform-h") + ("geometry-h.o" "geometry-h") + ("trigonometry-h.o" "trigonometry-h") + ("transformq-h.o" "transformq-h") + ("bounding-box.o" "bounding-box") + ("matrix.o" "matrix") + ("transform.o" "transform") + ("quaternion.o" "quaternion") + ("euler.o" "euler") + ("geometry.o" "geometry") + ("trigonometry.o" "trigonometry") + ("gsound-h.o" "gsound-h") + ("timer-h.o" "timer-h") + ("timer.o" "timer") + ("vif-h.o" "vif-h") + ("dma-h.o" "dma-h") + ("video-h.o" "video-h") + ("vu1-user-h.o" "vu1-user-h") + ("dma.o" "dma") + ("dma-buffer.o" "dma-buffer") + ("dma-bucket.o" "dma-bucket") + ("dma-disasm.o" "dma-disasm") + ("pad.o" "pad") + ("gs.o" "gs") + ("display-h.o" "display-h") + ("vector.o" "vector") + ("file-io.o" "file-io") + ("loader-h.o" "loader-h") + ("texture-h.o" "texture-h") + ("level-h.o" "level-h") + ("math-camera-h.o" "math-camera-h") + ("math-camera.o" "math-camera") + ("font-h.o" "font-h") + ("decomp-h.o" "decomp-h") + ("display.o" "display") + ("connect.o" "connect") + ("text-h.o" "text-h") + ("settings-h.o" "settings-h") + ("capture.o" "capture") + ("memory-usage-h.o" "memory-usage-h") + ("texture.o" "texture") + ("main-h.o" "main-h") + ("mspace-h.o" "mspace-h") + ("drawable-h.o" "drawable-h") + ("drawable-group-h.o" "drawable-group-h") + ("drawable-inline-array-h.o" "drawable-inline-array-h") + ("draw-node-h.o" "draw-node-h") + ("drawable-tree-h.o" "drawable-tree-h") + ("drawable-actor-h.o" "drawable-actor-h") + ("drawable-ambient-h.o" "drawable-ambient-h") + ("game-task-h.o" "game-task-h") + ("hint-control-h.o" "hint-control-h") + ("generic-h.o" "generic-h") + ("lights-h.o" "lights-h") + ("ocean-h.o" "ocean-h") + ("ocean-trans-tables.o" "ocean-trans-tables") + ("ocean-tables.o" "ocean-tables") + ("ocean-frames.o" "ocean-frames") + ("sky-h.o" "sky-h") + ("mood-h.o" "mood-h") + ("time-of-day-h.o" "time-of-day-h") + ("art-h.o" "art-h") + ("generic-vu1-h.o" "generic-vu1-h") + ("merc-h.o" "merc-h") + ("generic-merc-h.o" "generic-merc-h") + ("generic-tie-h.o" "generic-tie-h") + ("generic-work-h.o" "generic-work-h") + ("shadow-cpu-h.o" "shadow-cpu-h") + ("shadow-vu1-h.o" "shadow-vu1-h") + ("memcard-h.o" "memcard-h") + ("game-info-h.o" "game-info-h") + ("wind-h.o" "wind-h") + ("prototype-h.o" "prototype-h") + ("joint-h.o" "joint-h") + ("bones-h.o" "bones-h") + ("engines.o" "engines") + ("res-h.o" "res-h") + ("res.o" "res") + ("lights.o" "lights") + ("dynamics-h.o" "dynamics-h") + ("surface-h.o" "surface-h") + ("pat-h.o" "pat-h") + ("fact-h.o" "fact-h") + ("aligner-h.o" "aligner-h") + ("game-h.o" "game-h") + ("generic-obs-h.o" "generic-obs-h") + ("pov-camera-h.o" "pov-camera-h") + ("sync-info-h.o" "sync-info-h") + ("smush-control-h.o" "smush-control-h") + ("trajectory-h.o" "trajectory-h") + ("debug-h.o" "debug-h") + ("joint-mod-h.o" "joint-mod-h") + ("collide-func-h.o" "collide-func-h") + ("collide-mesh-h.o" "collide-mesh-h") + ("collide-shape-h.o" "collide-shape-h") + ("collide-target-h.o" "collide-target-h") + ("collide-touch-h.o" "collide-touch-h") + ("collide-edge-grab-h.o" "collide-edge-grab-h") + ("process-drawable-h.o" "process-drawable-h") + ("effect-control-h.o" "effect-control-h") + ("collide-frag-h.o" "collide-frag-h") + ("projectiles-h.o" "projectiles-h") + ("target-h.o" "target-h") + ("depth-cue-h.o" "depth-cue-h") + ("stats-h.o" "stats-h") + ("bsp-h.o" "bsp-h") + ("collide-cache-h.o" "collide-cache-h") + ("collide-h.o" "collide-h") + ("shrubbery-h.o" "shrubbery-h") + ("tie-h.o" "tie-h") + ("tfrag-h.o" "tfrag-h") + ("background-h.o" "background-h") + ("subdivide-h.o" "subdivide-h") + ("entity-h.o" "entity-h") + ("sprite-h.o" "sprite-h") + ("shadow-h.o" "shadow-h") + ("eye-h.o" "eye-h") + ("sparticle-launcher-h.o" "sparticle-launcher-h") + ("sparticle-h.o" "sparticle-h") + ("actor-link-h.o" "actor-link-h") + ("camera-h.o" "camera-h") + ("cam-debug-h.o" "cam-debug-h") + ("cam-interface-h.o" "cam-interface-h") + ("cam-update-h.o" "cam-update-h") + ("assert-h.o" "assert-h") + ("hud-h.o" "hud-h") + ("progress-h.o" "progress-h") + ("rpc-h.o" "rpc-h") + ("path-h.o" "path-h") + ("navigate-h.o" "navigate-h") + ("load-dgo.o" "load-dgo") + ("ramdisk.o" "ramdisk") + ("gsound.o" "gsound") + ("transformq.o" "transformq") + ("collide-func.o" "collide-func") + ("joint.o" "joint") + ("cylinder.o" "cylinder") + ("wind.o" "wind") + ("bsp.o" "bsp") + ("subdivide.o" "subdivide") + ("sprite.o" "sprite") + ("sprite-distort.o" "sprite-distort") + ("debug-sphere.o" "debug-sphere") + ("debug.o" "debug") + ("merc-vu1.o" "merc-vu1") + ("merc-blend-shape.o" "merc-blend-shape") + ("merc.o" "merc") + ("ripple.o" "ripple") + ("bones.o" "bones") + ("generic-vu0.o" "generic-vu0") + ("generic.o" "generic") + ("generic-vu1.o" "generic-vu1") + ("generic-effect.o" "generic-effect") + ("generic-merc.o" "generic-merc") + ("generic-tie.o" "generic-tie") + ("shadow-cpu.o" "shadow-cpu") + ("shadow-vu1.o" "shadow-vu1") + ("depth-cue.o" "depth-cue") + ("font.o" "font") + ("decomp.o" "decomp") + ("background.o" "background") + ("draw-node.o" "draw-node") + ("shrubbery.o" "shrubbery") + ("shrub-work.o" "shrub-work") + ("tfrag-near.o" "tfrag-near") + ("tfrag.o" "tfrag") + ("tfrag-methods.o" "tfrag-methods") + ("tfrag-work.o" "tfrag-work") + ("tie.o" "tie") + ("tie-near.o" "tie-near") + ("tie-work.o" "tie-work") + ("tie-methods.o" "tie-methods") + ("sync-info.o" "sync-info") + ("trajectory.o" "trajectory") + ("sparticle-launcher.o" "sparticle-launcher") + ("sparticle.o" "sparticle") + ("entity-table.o" "entity-table") + ("loader.o" "loader") + ("task-control-h.o" "task-control-h") + ("game-info.o" "game-info") + ("game-save.o" "game-save") + ("settings.o" "settings") + ("mood-tables.o" "mood-tables") + ("mood.o" "mood") + ("weather-part.o" "weather-part") + ("time-of-day.o" "time-of-day") + ("sky-utils.o" "sky-utils") + ("sky.o" "sky") + ("sky-tng.o" "sky-tng") + ("load-boundary-h.o" "load-boundary-h") + ("load-boundary.o" "load-boundary") + ("load-boundary-data.o" "load-boundary-data") + ("level-info.o" "level-info") + ("level.o" "level") + ("text.o" "text") + ("collide-probe.o" "collide-probe") + ("collide-frag.o" "collide-frag") + ("collide-mesh.o" "collide-mesh") + ("collide-touch.o" "collide-touch") + ("collide-edge-grab.o" "collide-edge-grab") + ("collide-shape.o" "collide-shape") + ("collide-shape-rider.o" "collide-shape-rider") + ("collide.o" "collide") + ("collide-planes.o" "collide-planes") + ("merc-death.o" "merc-death") + ("water-h.o" "water-h") + ("camera.o" "camera") + ("cam-interface.o" "cam-interface") + ("cam-master.o" "cam-master") + ("cam-states.o" "cam-states") + ("cam-states-dbg.o" "cam-states-dbg") + ("cam-combiner.o" "cam-combiner") + ("cam-update.o" "cam-update") + ("vol-h.o" "vol-h") + ("cam-layout.o" "cam-layout") + ("cam-debug.o" "cam-debug") + ("cam-start.o" "cam-start") + ("process-drawable.o" "process-drawable") + ("hint-control.o" "hint-control") + ("ambient.o" "ambient") + ("assert.o" "assert") + ("generic-obs.o" "generic-obs") + ("target-util.o" "target-util") + ("target-part.o" "target-part") + ("collide-reaction-target.o" "collide-reaction-target") + ("logic-target.o" "logic-target") + ("sidekick.o" "sidekick") + ("voicebox.o" "voicebox") + ("target-handler.o" "target-handler") + ("target.o" "target") + ("target2.o" "target2") + ("target-death.o" "target-death") + ("menu.o" "menu") + ("drawable.o" "drawable") + ("drawable-group.o" "drawable-group") + ("drawable-inline-array.o" "drawable-inline-array") + ("drawable-tree.o" "drawable-tree") + ("prototype.o" "prototype") + ("main-collide.o" "main-collide") + ("video.o" "video") + ("main.o" "main") + ("collide-cache.o" "collide-cache") + ("relocate.o" "relocate") + ("memory-usage.o" "memory-usage") + ("entity.o" "entity") + ("path.o" "path") + ("vol.o" "vol") + ("navigate.o" "navigate") + ("aligner.o" "aligner") + ("effect-control.o" "effect-control") + ("water.o" "water") + ("collectables-part.o" "collectables-part") + ("collectables.o" "collectables") + ("task-control.o" "task-control") + ("process-taskable.o" "process-taskable") + ("pov-camera.o" "pov-camera") + ("powerups.o" "powerups") + ("crates.o" "crates") + ("hud.o" "hud") + ("hud-classes.o" "hud-classes") + ("progress-static.o" "progress-static") + ("progress-part.o" "progress-part") + ("progress-draw.o" "progress-draw") + ("progress.o" "progress") + ("credits.o" "credits") + ("projectiles.o" "projectiles") + ("ocean.o" "ocean") + ("ocean-vu0.o" "ocean-vu0") + ("ocean-texture.o" "ocean-texture") + ("ocean-mid.o" "ocean-mid") + ("ocean-transition.o" "ocean-transition") + ("ocean-near.o" "ocean-near") + ("shadow.o" "shadow") + ("eye.o" "eye") + ("glist-h.o" "glist-h") + ("glist.o" "glist") + ("anim-tester.o" "anim-tester") + ("viewer.o" "viewer") + ("part-tester.o" "part-tester") + ("default-menu.o" "default-menu") + ("dir-tpages.go" "dir-tpages") + ("tpage-463.go" "tpage-463") + ("tpage-2.go" "tpage-2") + ("tpage-880.go" "tpage-880") + ("tpage-256.go" "tpage-256") + ("tpage-1278.go" "tpage-1278") + ("texture-upload.o" "texture-upload") + ("tpage-1032.go" "tpage-1032") + ("tpage-62.go" "tpage-62") + ("tpage-1532.go" "tpage-1532") + ("fuel-cell-ag.go" "fuel-cell") + ("money-ag.go" "money") + ("buzzer-ag.go" "buzzer") + ("ecovalve-ag-ART-GAME.go" "ecovalve") + ("crate-ag.go" "crate") + ("speaker-ag.go" "speaker") + ("fuelcell-naked-ag.go" "fuelcell-naked") + ("eichar-ag.go" "eichar") + ("sidekick-ag.go" "sidekick") + ("deathcam-ag.go" "deathcam") + ("game-cnt.go" "game-cnt") + ("rigid-body-h.o" "rigid-body-h") + ("water-anim.o" "water-anim") + ("dark-eco-pool.o" "dark-eco-pool") + ("rigid-body.o" "rigid-body") + ("nav-enemy-h.o" "nav-enemy-h") + ("nav-enemy.o" "nav-enemy") + ("baseplat.o" "baseplat") + ("basebutton.o" "basebutton") + ("tippy.o" "tippy") + ("joint-exploder.o" "joint-exploder") + ("babak.o" "babak") + ("sharkey.o" "sharkey") + ("orb-cache.o" "orb-cache") + ("plat.o" "plat") + ("plat-button.o" "plat-button") + ("plat-eco.o" "plat-eco") + ("ropebridge.o" "ropebridge") + ("ticky.o" "ticky") + ) + +("INT.DGO" + ("evilbro.o" "evilbro") + ("tpage-1455.go" "tpage-1455") + ("tpage-1457.go" "tpage-1457") + ("tpage-1456.go" "tpage-1456") + ("tpage-1454.go" "tpage-1454") + ("evilbro-ag.go" "evilbro") + ("evilsis-ag.go" "evilsis") + ("intro-vis.go" "intro-vis") + ) + +("JUB.DGO" + ("jungleb-obs.o" "jungleb-obs") + ("plat-flip.o" "plat-flip") + ("plant-boss-main+0-ag.go" "plant-boss-main+0") + ("aphid.o" "aphid") + ("plant-boss.o" "plant-boss") + ("tpage-485.go" "tpage-485") + ("tpage-510.go" "tpage-510") + ("tpage-507.go" "tpage-507") + ("tpage-966.go" "tpage-966") + ("aphid-lurker-ag.go" "aphid-lurker") + ("darkvine-ag-JUB.go" "darkvine") + ("ecovalve-ag-JUB-JUN.go" "ecovalve") + ("eggtop-ag.go" "eggtop") + ("jng-iris-door-ag-JUB.go" "jng-iris-door") + ("plant-boss-ag.go" "plant-boss") + ("plat-flip-ag.go" "plat-flip") + ("plat-jungleb-ag.go" "plat-jungleb") + ("jungleb-vis.go" "jungleb-vis") + ) + +("JUN.DGO" + ("eichar-fish+0-ag-JUN.go" "eichar-fish+0") + ("jungle-elevator.o" "jungle-elevator") + ("bouncer.o" "bouncer") + ("hopper.o" "hopper") + ("junglesnake.o" "junglesnake") + ("darkvine.o" "darkvine") + ("jungle-obs.o" "jungle-obs") + ("jungle-mirrors.o" "jungle-mirrors") + ("junglefish.o" "junglefish") + ("fisher-JUN.o" "fisher") + ("jungle-part.o" "jungle-part") + ("launcherdoor.o" "launcherdoor") + ("tpage-385.go" "tpage-385") + ("tpage-531.go" "tpage-531") + ("tpage-386.go" "tpage-386") + ("tpage-388.go" "tpage-388") + ("tpage-765.go" "tpage-765") + ("accordian-ag.go" "accordian") + ("babak-ag.go" "babak") + ("bounceytarp-ag.go" "bounceytarp") + ("catch-fisha-ag.go" "catch-fisha") + ("catch-fishb-ag.go" "catch-fishb") + ("catch-fishc-ag.go" "catch-fishc") + ("darkvine-ag-JUN.go" "darkvine") + ("ecovalve-ag-JUB-JUN.go" "ecovalve") + ("fish-net-ag.go" "fish-net") + ("fisher-ag.go" "fisher") + ("hopper-ag.go" "hopper") + ("junglecam-ag.go" "junglecam") + ("junglefish-ag.go" "junglefish") + ("junglesnake-ag.go" "junglesnake") + ("launcherdoor-ag-JUN.go" "launcherdoor") + ("logtrap-ag.go" "logtrap") + ("lurkerm-piston-ag.go" "lurkerm-piston") + ("lurkerm-tall-sail-ag.go" "lurkerm-tall-sail") + ("maindoor-ag.go" "maindoor") + ("medres-firecanyon-ag.go" "medres-firecanyon") + ("orb-cache-top-ag-JUN.go" "orb-cache-top") + ("periscope-ag.go" "periscope") + ("plat-button-ag.go" "plat-button") + ("plat-eco-ag-JUN.go" "plat-eco") + ("precurbridge-ag.go" "precurbridge") + ("reflector-mirror-ag.go" "reflector-mirror") + ("ropebridge-52-ag.go" "ropebridge-52") + ("ropebridge-70-ag.go" "ropebridge-70") + ("sharkey-ag-JUN-MIS.go" "sharkey") + ("sidedoor-ag.go" "sidedoor") + ("towertop-ag.go" "towertop") + ("water-anim-jungle-ag.go" "water-anim-jungle") + ("jungle-vis.go" "jungle-vis") + ) + +("JUNGLE.CGO" + ("eichar-fish+0-ag-JUNGLE.go" "eichar-fish+0") + ("jungle-elevator.o" "jungle-elevator") + ("bouncer.o" "bouncer") + ("hopper.o" "hopper") + ("junglesnake.o" "junglesnake") + ("darkvine.o" "darkvine") + ("jungle-obs.o" "jungle-obs") + ("jungle-mirrors.o" "jungle-mirrors") + ("junglefish.o" "junglefish") + ("fisher-JUNGLE-L1.o" "fisher") + ("jungle-part.o" "jungle-part") + ("launcherdoor.o" "launcherdoor") + ) + +("KERNEL.CGO" + ("gcommon.o" "gcommon") + ("gstring-h.o" "gstring-h") + ("gkernel-h.o" "gkernel-h") + ("gkernel.o" "gkernel") + ("pskernel.o" "pskernel") + ("gstring.o" "gstring") + ("dgo-h.o" "dgo-h") + ("gstate.o" "gstate") + ) + +("L1.CGO" + ("rigid-body-h.o" "rigid-body-h") + ("water-anim.o" "water-anim") + ("dark-eco-pool.o" "dark-eco-pool") + ("rigid-body.o" "rigid-body") + ("nav-enemy-h.o" "nav-enemy-h") + ("nav-enemy.o" "nav-enemy") + ("baseplat.o" "baseplat") + ("basebutton.o" "basebutton") + ("tippy.o" "tippy") + ("joint-exploder.o" "joint-exploder") + ("babak.o" "babak") + ("sharkey.o" "sharkey") + ("orb-cache.o" "orb-cache") + ("plat.o" "plat") + ("plat-button.o" "plat-button") + ("plat-eco.o" "plat-eco") + ("ropebridge.o" "ropebridge") + ("ticky.o" "ticky") + ("villagep-obs.o" "villagep-obs") + ("oracle.o" "oracle") + ("target-racer-h-L1-RACERP.o" "target-racer-h") + ("racer-part.o" "racer-part") + ("racer.o" "racer") + ("target-racer-L1-RACERP.o" "target-racer") + ("racer-states-L1-RACERP.o" "racer-states") + ("collide-reaction-racer.o" "collide-reaction-racer") + ("eichar-racer+0-ag.go" "eichar-racer+0") + ("tpage-1119.go" "tpage-1119") + ("battlecontroller.o" "battlecontroller") + ("mistycannon.o" "mistycannon") + ("babak-with-cannon.o" "babak-with-cannon") + ("blocking-plane.o" "blocking-plane") + ("flut-part.o" "flut-part") + ("flutflut.o" "flutflut") + ("target-flut.o" "target-flut") + ("eichar-flut+0-ag.go" "eichar-flut+0") + ("farmer.o" "farmer") + ("explorer.o" "explorer") + ("assistant.o" "assistant") + ("sage.o" "sage") + ("yakow.o" "yakow") + ("village-obs-L1.o" "village-obs") + ("fishermans-boat.o" "fishermans-boat") + ("village1-part.o" "village1-part") + ("village1-part2.o" "village1-part2") + ("sequence-a-village1.o" "sequence-a-village1") + ("training-obs.o" "training-obs") + ("training-part.o" "training-part") + ("air-h.o" "air-h") + ("air.o" "air") + ("wobbler.o" "wobbler") + ("twister.o" "twister") + ("beach-obs.o" "beach-obs") + ("bird-lady.o" "bird-lady") + ("bird-lady-beach.o" "bird-lady-beach") + ("mayor.o" "mayor") + ("sculptor.o" "sculptor") + ("pelican.o" "pelican") + ("lurkerworm.o" "lurkerworm") + ("lurkercrab.o" "lurkercrab") + ("lurkerpuppy.o" "lurkerpuppy") + ("beach-rocks.o" "beach-rocks") + ("seagull.o" "seagull") + ("beach-part.o" "beach-part") + ("eichar-fish+0-ag-L1.go" "eichar-fish+0") + ("jungle-elevator.o" "jungle-elevator") + ("bouncer.o" "bouncer") + ("hopper.o" "hopper") + ("junglesnake.o" "junglesnake") + ("darkvine.o" "darkvine") + ("jungle-obs.o" "jungle-obs") + ("jungle-mirrors.o" "jungle-mirrors") + ("junglefish.o" "junglefish") + ("fisher-JUNGLE-L1.o" "fisher") + ("jungle-part.o" "jungle-part") + ("jungleb-obs.o" "jungleb-obs") + ("plat-flip.o" "plat-flip") + ("plant-boss-main+0-ag.go" "plant-boss-main+0") + ("aphid.o" "aphid") + ("plant-boss.o" "plant-boss") + ("misty-obs.o" "misty-obs") + ("misty-warehouse.o" "misty-warehouse") + ("misty-conveyor.o" "misty-conveyor") + ("mud.o" "mud") + ("muse.o" "muse") + ("bonelurker.o" "bonelurker") + ("quicksandlurker.o" "quicksandlurker") + ("misty-teetertotter.o" "misty-teetertotter") + ("balloonlurker.o" "balloonlurker") + ("misty-part.o" "misty-part") + ("sidekick-human.o" "sidekick-human") + ("firecanyon-part.o" "firecanyon-part") + ("assistant-firecanyon.o" "assistant-firecanyon") + ("village2-part.o" "village2-part") + ("village2-obs.o" "village2-obs") + ("village2-part2.o" "village2-part2") + ("gambler.o" "gambler") + ("warrior.o" "warrior") + ("geologist.o" "geologist") + ("swamp-blimp.o" "swamp-blimp") + ("sage-bluehut.o" "sage-bluehut") + ("flutflut-bluehut.o" "flutflut-bluehut") + ("assistant-village2.o" "assistant-village2") + ("sunken-elevator.o" "sunken-elevator") + ("swamp-obs.o" "swamp-obs") + ("swamp-bat.o" "swamp-bat") + ("swamp-rat.o" "swamp-rat") + ("swamp-rat-nest.o" "swamp-rat-nest") + ("kermit.o" "kermit") + ("swamp-part.o" "swamp-part") + ("billy.o" "billy") + ("cavecrystal-light.o" "cavecrystal-light") + ("maincave-obs.o" "maincave-obs") + ("maincave-part.o" "maincave-part") + ("spiderwebs.o" "spiderwebs") + ("dark-crystal.o" "dark-crystal") + ("baby-spider.o" "baby-spider") + ("mother-spider-h.o" "mother-spider-h") + ("mother-spider-egg.o" "mother-spider-egg") + ("mother-spider-proj.o" "mother-spider-proj") + ("mother-spider.o" "mother-spider") + ("gnawer.o" "gnawer") + ("driller-lurker.o" "driller-lurker") + ("robotboss-h.o" "robotboss-h") + ("robotboss-part.o" "robotboss-part") + ("sage-finalboss-part.o" "sage-finalboss-part") + ("light-eco.o" "light-eco") + ("robotboss-weapon.o" "robotboss-weapon") + ("robotboss-misc.o" "robotboss-misc") + ("green-eco-lurker.o" "green-eco-lurker") + ("robotboss.o" "robotboss") + ("final-door.o" "final-door") + ("sage-finalboss-L1.o" "sage-finalboss") + ("sunken-part.o" "sunken-part") + ("sunken-part2.o" "sunken-part2") + ("sunken-part3.o" "sunken-part3") + ("sunken-part4.o" "sunken-part4") + ("sunken-part5.o" "sunken-part5") + ("target-tube.o" "target-tube") + ("eichar-tube+0-ag-L1-SUNKEN.go" "eichar-tube+0") + ("sunken-obs.o" "sunken-obs") + ("shover.o" "shover") + ("launcherdoor.o" "launcherdoor") + ("square-platform.o" "square-platform") + ("sun-iris-door.o" "sun-iris-door") + ("orbit-plat.o" "orbit-plat") + ("wedge-plats.o" "wedge-plats") + ("wall-plat.o" "wall-plat") + ("qbert-plat.o" "qbert-plat") + ("steam-cap.o" "steam-cap") + ("sun-exit-chamber.o" "sun-exit-chamber") + ("floating-launcher.o" "floating-launcher") + ("sunken-water.o" "sunken-water") + ("whirlpool.o" "whirlpool") + ("sunken-pipegame.o" "sunken-pipegame") + ("bully.o" "bully") + ("double-lurker.o" "double-lurker") + ("helix-water.o" "helix-water") + ("puffer.o" "puffer") + ("sunken-fish.o" "sunken-fish") + ("rolling-obs.o" "rolling-obs") + ("rolling-lightning-mole.o" "rolling-lightning-mole") + ("rolling-robber.o" "rolling-robber") + ("rolling-race-ring.o" "rolling-race-ring") + ("firecanyon-obs.o" "firecanyon-obs") + ("ogre-part.o" "ogre-part") + ("ogreboss.o" "ogreboss") + ("ogre-obs.o" "ogre-obs") + ("flying-lurker.o" "flying-lurker") + ("village3-part.o" "village3-part") + ("village3-obs.o" "village3-obs") + ("minecart.o" "minecart") + ("miners.o" "miners") + ("assistant-village3.o" "assistant-village3") + ("sage-village3.o" "sage-village3") + ("darkcave-obs.o" "darkcave-obs") + ("cave-trap.o" "cave-trap") + ("spider-egg.o" "spider-egg") + ("robocave-part.o" "robocave-part") + ("target-snowball.o" "target-snowball") + ("target-ice.o" "target-ice") + ("ice-cube.o" "ice-cube") + ("snow-ball.o" "snow-ball") + ("snow-obs.o" "snow-obs") + ("snow-flutflut-obs.o" "snow-flutflut-obs") + ("snow-bumper.o" "snow-bumper") + ("snow-ram-h.o" "snow-ram-h") + ("snow-ram-boss.o" "snow-ram-boss") + ("snow-ram.o" "snow-ram") + ("snow-part.o" "snow-part") + ("yeti.o" "yeti") + ("eichar-pole+0-ag-L1.go" "eichar-pole+0") + ("eichar-ice+0-ag.go" "eichar-ice+0") + ("lavatube-obs.o" "lavatube-obs") + ("lavatube-energy.o" "lavatube-energy") + ("lavatube-part.o" "lavatube-part") + ("assistant-lavatube.o" "assistant-lavatube") + ("citadel-part.o" "citadel-part") + ("citadel-obs.o" "citadel-obs") + ("citb-plat.o" "citb-plat") + ("citadel-sages.o" "citadel-sages") + ("snow-bunny.o" "snow-bunny") + ("citb-bunny.o" "citb-bunny") + ("citb-drop-plat-L1.o" "citb-drop-plat") + ("assistant-citadel.o" "assistant-citadel") + ("demo-obs.o" "demo-obs") + ("tpage-1485.go" "tpage-1485") + ("tpage-1486.go" "tpage-1486") + ("tpage-1487.go" "tpage-1487") + ("tpage-1599.go" "tpage-1599") + ("tpage-1600.go" "tpage-1600") + ("tpage-1601.go" "tpage-1601") + ("tpage-1602.go" "tpage-1602") + ("tpage-1603.go" "tpage-1603") + ("tpage-1604.go" "tpage-1604") + ("tpage-1605.go" "tpage-1605") + ("tpage-1606.go" "tpage-1606") + ("tpage-1607.go" "tpage-1607") + ("static-screen.o" "static-screen") + ("evilbro.o" "evilbro") + ) + +("LAV.DGO" + ("target-racer-h-FIC-LAV-MIS-OGR-ROL.o" "target-racer-h") + ("racer-part.o" "racer-part") + ("racer.o" "racer") + ("target-racer-FIC-LAV-MIS-OGR-ROL.o" "target-racer") + ("racer-states-FIC-LAV-MIS-OGR-ROL.o" "racer-states") + ("collide-reaction-racer.o" "collide-reaction-racer") + ("eichar-racer+0-ag.go" "eichar-racer+0") + ("tpage-1119.go" "tpage-1119") + ("blocking-plane.o" "blocking-plane") + ("lavatube-obs.o" "lavatube-obs") + ("lavatube-energy.o" "lavatube-energy") + ("lavatube-part.o" "lavatube-part") + ("assistant-lavatube.o" "assistant-lavatube") + ("tpage-1338.go" "tpage-1338") + ("tpage-1340.go" "tpage-1340") + ("tpage-1339.go" "tpage-1339") + ("tpage-1337.go" "tpage-1337") + ("assistant-lavatube-start-ag.go" "assistant-lavatube-start") + ("chainmine-ag.go" "chainmine") + ("darkecobarrel-ag.go" "darkecobarrel") + ("ecovalve-ag-LAV.go" "ecovalve") + ("ef-plane-ag-FIC-LAV-OGR-ROL-SNO-SWA.go" "ef-plane") + ("energyarm-ag.go" "energyarm") + ("energyball-ag.go" "energyball") + ("energybase-ag.go" "energybase") + ("energydoor-ag.go" "energydoor") + ("energyhub-ag.go" "energyhub") + ("lavaballoon-ag.go" "lavaballoon") + ("lavabase-ag.go" "lavabase") + ("lavafall-ag.go" "lavafall") + ("lavafallsewera-ag.go" "lavafallsewera") + ("lavafallsewerb-ag.go" "lavafallsewerb") + ("lavashortcut-ag.go" "lavashortcut") + ("lavayellowtarp-ag.go" "lavayellowtarp") + ("racer-ag-LAV.go" "racer") + ("water-anim-lavatube-ag.go" "water-anim-lavatube") + ("lavatube-vis.go" "lavatube-vis") + ) + +("MAI.DGO" + ("cavecrystal-light.o" "cavecrystal-light") + ("maincave-obs.o" "maincave-obs") + ("maincave-part.o" "maincave-part") + ("spiderwebs.o" "spiderwebs") + ("dark-crystal.o" "dark-crystal") + ("baby-spider.o" "baby-spider") + ("mother-spider-h.o" "mother-spider-h") + ("mother-spider-egg.o" "mother-spider-egg") + ("mother-spider-proj.o" "mother-spider-proj") + ("mother-spider.o" "mother-spider") + ("gnawer.o" "gnawer") + ("driller-lurker.o" "driller-lurker") + ("launcherdoor.o" "launcherdoor") + ("tpage-1313.go" "tpage-1313") + ("tpage-1315.go" "tpage-1315") + ("tpage-1314.go" "tpage-1314") + ("tpage-1312.go" "tpage-1312") + ("tpage-767.go" "tpage-767") + ("baby-spider-ag-MAI.go" "baby-spider") + ("cavetrapdoor-ag-MAI.go" "cavetrapdoor") + ("dark-crystal-ag.go" "dark-crystal") + ("driller-lurker-ag.go" "driller-lurker") + ("ecovalve-ag-MAI.go" "ecovalve") + ("gnawer-ag.go" "gnawer") + ("launcherdoor-maincave-ag.go" "launcherdoor-maincave") + ("maincavecam-ag.go" "maincavecam") + ("mother-spider-ag.go" "mother-spider") + ("plat-ag-MAI.go" "plat") + ("spider-egg-ag-DAR-MAI.go" "spider-egg") + ("spiderwebs-ag.go" "spiderwebs") + ("water-anim-maincave-ag.go" "water-anim-maincave") + ("water-anim-maincave-water-ag.go" "water-anim-maincave-water") + ("maincave-vis.go" "maincave-vis") + ) + +("MAINCAVE.CGO" + ("cavecrystal-light.o" "cavecrystal-light") + ("maincave-obs.o" "maincave-obs") + ("maincave-part.o" "maincave-part") + ("spiderwebs.o" "spiderwebs") + ("dark-crystal.o" "dark-crystal") + ("baby-spider.o" "baby-spider") + ("mother-spider-h.o" "mother-spider-h") + ("mother-spider-egg.o" "mother-spider-egg") + ("mother-spider-proj.o" "mother-spider-proj") + ("mother-spider.o" "mother-spider") + ("gnawer.o" "gnawer") + ("driller-lurker.o" "driller-lurker") + ("launcherdoor.o" "launcherdoor") + ) + +("MIS.DGO" + ("target-racer-h-FIC-LAV-MIS-OGR-ROL.o" "target-racer-h") + ("racer-part.o" "racer-part") + ("racer.o" "racer") + ("target-racer-FIC-LAV-MIS-OGR-ROL.o" "target-racer") + ("racer-states-FIC-LAV-MIS-OGR-ROL.o" "racer-states") + ("collide-reaction-racer.o" "collide-reaction-racer") + ("eichar-racer+0-ag.go" "eichar-racer+0") + ("tpage-1119.go" "tpage-1119") + ("battlecontroller.o" "battlecontroller") + ("mistycannon.o" "mistycannon") + ("babak-with-cannon.o" "babak-with-cannon") + ("blocking-plane.o" "blocking-plane") + ("misty-obs.o" "misty-obs") + ("misty-warehouse.o" "misty-warehouse") + ("misty-conveyor.o" "misty-conveyor") + ("mud.o" "mud") + ("muse.o" "muse") + ("bonelurker.o" "bonelurker") + ("quicksandlurker.o" "quicksandlurker") + ("misty-teetertotter.o" "misty-teetertotter") + ("balloonlurker.o" "balloonlurker") + ("misty-part.o" "misty-part") + ("sidekick-human.o" "sidekick-human") + ("tpage-516.go" "tpage-516") + ("tpage-521.go" "tpage-521") + ("tpage-518.go" "tpage-518") + ("tpage-520.go" "tpage-520") + ("babak-ag.go" "babak") + ("balloonlurker-ag.go" "balloonlurker") + ("boatpaddle-ag.go" "boatpaddle") + ("bonelurker-ag.go" "bonelurker") + ("breakaway-left-ag.go" "breakaway-left") + ("breakaway-mid-ag.go" "breakaway-mid") + ("breakaway-right-ag.go" "breakaway-right") + ("darkecocan-ag.go" "darkecocan") + ("ef-plane-ag-MIS.go" "ef-plane") + ("keg-ag.go" "keg") + ("keg-conveyor-ag.go" "keg-conveyor") + ("keg-conveyor-paddle-ag.go" "keg-conveyor-paddle") + ("mis-bone-bridge-ag.go" "mis-bone-bridge") + ("mis-bone-platform-ag.go" "mis-bone-platform") + ("mistycam-ag.go" "mistycam") + ("mistycannon-ag.go" "mistycannon") + ("muse-ag.go" "muse") + ("orb-cache-top-ag-MIS.go" "orb-cache-top") + ("plat-eco-ag-MIS.go" "plat-eco") + ("quicksandlurker-ag.go" "quicksandlurker") + ("racer-ag-MIS.go" "racer") + ("ropebridge-36-ag.go" "ropebridge-36") + ("rounddoor-ag.go" "rounddoor") + ("sack-ag-MIS.go" "sack") + ("sharkey-ag-JUN-MIS.go" "sharkey") + ("sidekick-human-ag.go" "sidekick-human") + ("silostep-ag.go" "silostep") + ("teetertotter-ag.go" "teetertotter") + ("water-anim-misty-ag.go" "water-anim-misty") + ("wheel-ag.go" "wheel") + ("windturbine-ag.go" "windturbine") + ("misty-vis.go" "misty-vis") + ) + +("OGR.DGO" + ("target-racer-h-FIC-LAV-MIS-OGR-ROL.o" "target-racer-h") + ("racer-part.o" "racer-part") + ("racer.o" "racer") + ("target-racer-FIC-LAV-MIS-OGR-ROL.o" "target-racer") + ("racer-states-FIC-LAV-MIS-OGR-ROL.o" "racer-states") + ("collide-reaction-racer.o" "collide-reaction-racer") + ("eichar-racer+0-ag.go" "eichar-racer+0") + ("tpage-1119.go" "tpage-1119") + ("blocking-plane.o" "blocking-plane") + ("firecanyon-obs.o" "firecanyon-obs") + ("ogre-part.o" "ogre-part") + ("ogreboss.o" "ogreboss") + ("ogre-obs.o" "ogre-obs") + ("flying-lurker.o" "flying-lurker") + ("tpage-875.go" "tpage-875") + ("tpage-967.go" "tpage-967") + ("tpage-884.go" "tpage-884") + ("tpage-1117.go" "tpage-1117") + ("crate-darkeco-cluster-ag-OGR.go" "crate-darkeco-cluster") + ("ecovalve-ag-FIC-OGR.go" "ecovalve") + ("ef-plane-ag-FIC-LAV-OGR-ROL-SNO-SWA.go" "ef-plane") + ("flying-lurker-ag.go" "flying-lurker") + ("medres-snow-ag.go" "medres-snow") + ("ogre-bridge-ag.go" "ogre-bridge") + ("ogre-bridgeend-ag.go" "ogre-bridgeend") + ("ogre-isle-ag.go" "ogre-isle") + ("ogre-step-ag.go" "ogre-step") + ("ogreboss-ag.go" "ogreboss") + ("ogrecam-ag.go" "ogrecam") + ("plunger-lurker-ag.go" "plunger-lurker") + ("racer-ag-OGR.go" "racer") + ("shortcut-boulder-ag.go" "shortcut-boulder") + ("tntbarrel-ag.go" "tntbarrel") + ("water-anim-ogre-ag.go" "water-anim-ogre") + ("ogre-vis.go" "ogre-vis") + ) + +("RACERP.CGO" + ("target-racer-h-L1-RACERP.o" "target-racer-h") + ("racer-part.o" "racer-part") + ("racer.o" "racer") + ("target-racer-L1-RACERP.o" "target-racer") + ("racer-states-L1-RACERP.o" "racer-states") + ("collide-reaction-racer.o" "collide-reaction-racer") + ("eichar-racer+0-ag.go" "eichar-racer+0") + ("tpage-1119.go" "tpage-1119") + ("blocking-plane.o" "blocking-plane") + ) + +("ROB.DGO" + ("cave-trap.o" "cave-trap") + ("spider-egg.o" "spider-egg") + ("robocave-part.o" "robocave-part") + ("eichar-pole+0-ag-ROB.go" "eichar-pole+0") + ("tpage-1318.go" "tpage-1318") + ("tpage-1319.go" "tpage-1319") + ("tpage-1317.go" "tpage-1317") + ("tpage-1316.go" "tpage-1316") + ("babak-ag.go" "babak") + ("baby-spider-ag-ROB.go" "baby-spider") + ("cavecrusher-ag.go" "cavecrusher") + ("caveelevator-ag.go" "caveelevator") + ("cavespatulatwo-ag.go" "cavespatulatwo") + ("cavetrapdoor-ag-ROB.go" "cavetrapdoor") + ("driller-lurker-ag.go" "driller-lurker") + ("ecovalve-ag-ROB.go" "ecovalve") + ("plat-ag-ROB.go" "plat") + ("plat-eco-ag-ROB.go" "plat-eco") + ("spider-egg-ag-ROB.go" "spider-egg") + ("spiderwebs-ag.go" "spiderwebs") + ("water-anim-robocave-ag.go" "water-anim-robocave") + ("robocave-vis.go" "robocave-vis") + ) + +("ROL.DGO" + ("target-racer-h-FIC-LAV-MIS-OGR-ROL.o" "target-racer-h") + ("racer-part.o" "racer-part") + ("racer.o" "racer") + ("target-racer-FIC-LAV-MIS-OGR-ROL.o" "target-racer") + ("racer-states-FIC-LAV-MIS-OGR-ROL.o" "racer-states") + ("collide-reaction-racer.o" "collide-reaction-racer") + ("eichar-racer+0-ag.go" "eichar-racer+0") + ("tpage-1119.go" "tpage-1119") + ("blocking-plane.o" "blocking-plane") + ("rolling-obs.o" "rolling-obs") + ("rolling-lightning-mole.o" "rolling-lightning-mole") + ("rolling-robber.o" "rolling-robber") + ("rolling-race-ring.o" "rolling-race-ring") + ("tpage-923.go" "tpage-923") + ("tpage-926.go" "tpage-926") + ("tpage-924.go" "tpage-924") + ("tpage-925.go" "tpage-925") + ("tpage-1353.go" "tpage-1353") + ("babak-ag.go" "babak") + ("dark-plant-ag.go" "dark-plant") + ("ecovalve-ag-ROL.go" "ecovalve") + ("ef-plane-ag-FIC-LAV-OGR-ROL-SNO-SWA.go" "ef-plane") + ("happy-plant-ag.go" "happy-plant") + ("lightning-mole-ag.go" "lightning-mole") + ("pusher-ag.go" "pusher") + ("race-ring-ag.go" "race-ring") + ("racer-ag-FIC-ROL.go" "racer") + ("robber-ag.go" "robber") + ("rolling-start-ag.go" "rolling-start") + ("rollingcam-ag.go" "rollingcam") + ("water-anim-rolling-ag.go" "water-anim-rolling") + ("rolling-vis.go" "rolling-vis") + ) + +("SNO.DGO" + ("blocking-plane.o" "blocking-plane") + ("flut-part.o" "flut-part") + ("flutflut.o" "flutflut") + ("target-flut.o" "target-flut") + ("eichar-flut+0-ag.go" "eichar-flut+0") + ("target-snowball.o" "target-snowball") + ("target-ice.o" "target-ice") + ("ice-cube.o" "ice-cube") + ("snow-ball.o" "snow-ball") + ("snow-obs.o" "snow-obs") + ("snow-flutflut-obs.o" "snow-flutflut-obs") + ("snow-bumper.o" "snow-bumper") + ("snow-ram-h.o" "snow-ram-h") + ("snow-ram-boss.o" "snow-ram-boss") + ("snow-ram.o" "snow-ram") + ("snow-part.o" "snow-part") + ("yeti.o" "yeti") + ("eichar-pole+0-ag-SNO.go" "eichar-pole+0") + ("eichar-ice+0-ag.go" "eichar-ice+0") + ("snow-bunny.o" "snow-bunny") + ("tpage-710.go" "tpage-710") + ("tpage-842.go" "tpage-842") + ("tpage-711.go" "tpage-711") + ("tpage-712.go" "tpage-712") + ("babak-ag.go" "babak") + ("ecovalve-ag-SNO.go" "ecovalve") + ("ef-plane-ag-FIC-LAV-OGR-ROL-SNO-SWA.go" "ef-plane") + ("flut-saddle-ag-SNO.go" "flut-saddle") + ("flutflut-plat-large-ag.go" "flutflut-plat-large") + ("flutflut-plat-med-ag.go" "flutflut-plat-med") + ("flutflut-plat-small-ag.go" "flutflut-plat-small") + ("ice-cube-ag.go" "ice-cube") + ("ice-cube-break-ag.go" "ice-cube-break") + ("orb-cache-top-ag-SNO.go" "orb-cache-top") + ("ram-ag.go" "ram") + ("ram-boss-ag.go" "ram-boss") + ("snow-ball-ag.go" "snow-ball") + ("snow-bridge-36-ag.go" "snow-bridge-36") + ("snow-bumper-ag.go" "snow-bumper") + ("snow-bunny-ag.go" "snow-bunny") + ("snow-button-ag.go" "snow-button") + ("snow-eggtop-ag.go" "snow-eggtop") + ("snow-fort-gate-ag.go" "snow-fort-gate") + ("snow-gears-ag.go" "snow-gears") + ("snow-log-ag.go" "snow-log") + ("snow-spatula-ag.go" "snow-spatula") + ("snow-switch-ag.go" "snow-switch") + ("snowcam-ag.go" "snowcam") + ("snowpusher-ag.go" "snowpusher") + ("yeti-ag.go" "yeti") + ("snow-vis.go" "snow-vis") + ) + +("SUB.DGO" + ("tpage-163.go" "tpage-163") + ("tpage-164.go" "tpage-164") + ("tpage-166.go" "tpage-166") + ("tpage-162.go" "tpage-162") + ("tpage-764.go" "tpage-764") + ("babak-ag.go" "babak") + ("blue-eco-charger-ag.go" "blue-eco-charger") + ("blue-eco-charger-orb-ag.go" "blue-eco-charger-orb") + ("bully-ag.go" "bully") + ("ecovalve-ag-SUB.go" "ecovalve") + ("floating-launcher-ag.go" "floating-launcher") + ("helix-button-ag.go" "helix-button") + ("helix-slide-door-ag.go" "helix-slide-door") + ("shover-ag-SUB.go" "shover") + ("steam-cap-ag-SUB.go" "steam-cap") + ("sunkencam-ag-SUB.go" "sunkencam") + ("sunkenfisha-ag.go" "sunkenfisha") + ("wall-plat-ag.go" "wall-plat") + ("water-anim-sunken-ag.go" "water-anim-sunken") + ("water-anim-sunken-dark-eco-ag.go" "water-anim-sunken-dark-eco") + ("sunkenb-vis.go" "sunkenb-vis") + ) + +("SUN.DGO" + ("sunken-part.o" "sunken-part") + ("sunken-part2.o" "sunken-part2") + ("sunken-part3.o" "sunken-part3") + ("sunken-part4.o" "sunken-part4") + ("sunken-part5.o" "sunken-part5") + ("target-tube.o" "target-tube") + ("eichar-tube+0-ag-SUN.go" "eichar-tube+0") + ("sunken-obs.o" "sunken-obs") + ("shover.o" "shover") + ("launcherdoor.o" "launcherdoor") + ("square-platform.o" "square-platform") + ("sun-iris-door.o" "sun-iris-door") + ("orbit-plat.o" "orbit-plat") + ("wedge-plats.o" "wedge-plats") + ("wall-plat.o" "wall-plat") + ("qbert-plat.o" "qbert-plat") + ("steam-cap.o" "steam-cap") + ("sun-exit-chamber.o" "sun-exit-chamber") + ("floating-launcher.o" "floating-launcher") + ("sunken-water.o" "sunken-water") + ("whirlpool.o" "whirlpool") + ("sunken-pipegame.o" "sunken-pipegame") + ("bully.o" "bully") + ("double-lurker.o" "double-lurker") + ("helix-water.o" "helix-water") + ("puffer.o" "puffer") + ("sunken-fish.o" "sunken-fish") + ("tpage-661.go" "tpage-661") + ("tpage-663.go" "tpage-663") + ("tpage-714.go" "tpage-714") + ("tpage-662.go" "tpage-662") + ("tpage-766.go" "tpage-766") + ("babak-ag.go" "babak") + ("bully-ag.go" "bully") + ("double-lurker-ag.go" "double-lurker") + ("double-lurker-top-ag.go" "double-lurker-top") + ("exit-chamber-ag.go" "exit-chamber") + ("generic-button-ag.go" "generic-button") + ("launcherdoor-ag-SUN.go" "launcherdoor") + ("orb-cache-top-ag-SUN.go" "orb-cache-top") + ("orbit-plat-ag.go" "orbit-plat") + ("orbit-plat-bottom-ag.go" "orbit-plat-bottom") + ("plat-sunken-ag.go" "plat-sunken") + ("puffer-ag.go" "puffer") + ("qbert-plat-ag.go" "qbert-plat") + ("qbert-plat-on-ag.go" "qbert-plat-on") + ("seaweed-ag.go" "seaweed") + ("shover-ag-SUN.go" "shover") + ("side-to-side-plat-ag.go" "side-to-side-plat") + ("square-platform-ag.go" "square-platform") + ("steam-cap-ag-SUN.go" "steam-cap") + ("sun-iris-door-ag.go" "sun-iris-door") + ("sunkencam-ag-SUN.go" "sunkencam") + ("sunkenfisha-ag.go" "sunkenfisha") + ("wall-plat-ag.go" "wall-plat") + ("water-anim-sunken-ag.go" "water-anim-sunken") + ("water-anim-sunken-dark-eco-ag.go" "water-anim-sunken-dark-eco") + ("wedge-plat-ag.go" "wedge-plat") + ("wedge-plat-outer-ag.go" "wedge-plat-outer") + ("whirlpool-ag.go" "whirlpool") + ("sunken-vis.go" "sunken-vis") + ) + +("SUNKEN.CGO" + ("sunken-part.o" "sunken-part") + ("sunken-part2.o" "sunken-part2") + ("sunken-part3.o" "sunken-part3") + ("sunken-part4.o" "sunken-part4") + ("sunken-part5.o" "sunken-part5") + ("target-tube.o" "target-tube") + ("eichar-tube+0-ag-L1-SUNKEN.go" "eichar-tube+0") + ("sunken-obs.o" "sunken-obs") + ("shover.o" "shover") + ("launcherdoor.o" "launcherdoor") + ("square-platform.o" "square-platform") + ("sun-iris-door.o" "sun-iris-door") + ("orbit-plat.o" "orbit-plat") + ("wedge-plats.o" "wedge-plats") + ("wall-plat.o" "wall-plat") + ("qbert-plat.o" "qbert-plat") + ("steam-cap.o" "steam-cap") + ("sun-exit-chamber.o" "sun-exit-chamber") + ("floating-launcher.o" "floating-launcher") + ("sunken-water.o" "sunken-water") + ("whirlpool.o" "whirlpool") + ("sunken-pipegame.o" "sunken-pipegame") + ("bully.o" "bully") + ("double-lurker.o" "double-lurker") + ("helix-water.o" "helix-water") + ("puffer.o" "puffer") + ("sunken-fish.o" "sunken-fish") + ) + +("SWA.DGO" + ("battlecontroller.o" "battlecontroller") + ("blocking-plane.o" "blocking-plane") + ("flut-part.o" "flut-part") + ("flutflut.o" "flutflut") + ("target-flut.o" "target-flut") + ("eichar-flut+0-ag.go" "eichar-flut+0") + ("swamp-obs.o" "swamp-obs") + ("swamp-bat.o" "swamp-bat") + ("swamp-rat.o" "swamp-rat") + ("swamp-rat-nest.o" "swamp-rat-nest") + ("kermit.o" "kermit") + ("swamp-part.o" "swamp-part") + ("billy.o" "billy") + ("eichar-pole+0-ag-SWA.go" "eichar-pole+0") + ("tpage-358.go" "tpage-358") + ("tpage-659.go" "tpage-659") + ("tpage-629.go" "tpage-629") + ("tpage-630.go" "tpage-630") + ("babak-ag.go" "babak") + ("balance-plat-ag.go" "balance-plat") + ("billy-ag.go" "billy") + ("billy-sidekick-ag.go" "billy-sidekick") + ("ecovalve-ag-SWA.go" "ecovalve") + ("ef-plane-ag-FIC-LAV-OGR-ROL-SNO-SWA.go" "ef-plane") + ("farthy-snack-ag.go" "farthy-snack") + ("flut-saddle-ag-SWA.go" "flut-saddle") + ("kermit-ag.go" "kermit") + ("sharkey-ag-SWA.go" "sharkey") + ("swamp-bat-ag.go" "swamp-bat") + ("swamp-rat-ag.go" "swamp-rat") + ("swamp-rat-nest-ag.go" "swamp-rat-nest") + ("swamp-rock-ag.go" "swamp-rock") + ("swamp-spike-ag.go" "swamp-spike") + ("swampcam-ag-SWA.go" "swampcam") + ("tar-plat-ag.go" "tar-plat") + ("swamp-vis.go" "swamp-vis") + ) + +("TIT.DGO" + ("static-screen.o" "static-screen") + ("title-obs.o" "title-obs") + ("tpage-1609.go" "tpage-1609") + ("tpage-416.go" "tpage-416") + ("tpage-415.go" "tpage-415") + ("tpage-397.go" "tpage-397") + ("tpage-1499.go" "tpage-1499") + ("logo-ag.go" "logo") + ("logo-black-ag.go" "logo-black") + ("logo-cam-ag.go" "logo-cam") + ("logo-volumes-ag.go" "logo-volumes") + ("ndi-ag.go" "ndi") + ("ndi-cam-ag.go" "ndi-cam") + ("ndi-volumes-ag.go" "ndi-volumes") + ("title-vis.go" "title-vis") + ) + +("TRA.DGO" + ("training-obs.o" "training-obs") + ("training-part.o" "training-part") + ("tpage-1309.go" "tpage-1309") + ("tpage-1311.go" "tpage-1311") + ("tpage-1310.go" "tpage-1310") + ("tpage-1308.go" "tpage-1308") + ("tpage-775.go" "tpage-775") + ("ecovalve-ag-TRA.go" "ecovalve") + ("jng-iris-door-ag-TRA.go" "jng-iris-door") + ("plat-eco-ag-TRA.go" "plat-eco") + ("pontoonfive-ag-TRA.go" "pontoonfive") + ("scarecrow-a-ag.go" "scarecrow-a") + ("scarecrow-b-ag.go" "scarecrow-b") + ("sharkey-ag-BEA-TRA-VI2.go" "sharkey") + ("trainingcam-ag.go" "trainingcam") + ("warp-gate-switch-ag-TRA.go" "warp-gate-switch") + ("warpgate-ag.go" "warpgate") + ("water-anim-training-ag.go" "water-anim-training") + ("training-vis.go" "training-vis") + ) + +("VI1.DGO" + ("villagep-obs.o" "villagep-obs") + ("oracle.o" "oracle") + ("farmer.o" "farmer") + ("explorer.o" "explorer") + ("assistant.o" "assistant") + ("sage.o" "sage") + ("yakow.o" "yakow") + ("village-obs-VI1.o" "village-obs") + ("fishermans-boat.o" "fishermans-boat") + ("village1-part.o" "village1-part") + ("village1-part2.o" "village1-part2") + ("sequence-a-village1.o" "sequence-a-village1") + ("tpage-398.go" "tpage-398") + ("tpage-400.go" "tpage-400") + ("tpage-399.go" "tpage-399") + ("tpage-401.go" "tpage-401") + ("tpage-1470.go" "tpage-1470") + ("assistant-ag.go" "assistant") + ("evilplant-ag.go" "evilplant") + ("explorer-ag.go" "explorer") + ("farmer-ag.go" "farmer") + ("fishermans-boat-ag.go" "fishermans-boat") + ("hutlamp-ag.go" "hutlamp") + ("mayorgears-ag.go" "mayorgears") + ("medres-beach-ag.go" "medres-beach") + ("medres-beach1-ag.go" "medres-beach1") + ("medres-beach2-ag.go" "medres-beach2") + ("medres-beach3-ag.go" "medres-beach3") + ("medres-jungle-ag.go" "medres-jungle") + ("medres-jungle1-ag.go" "medres-jungle1") + ("medres-jungle2-ag.go" "medres-jungle2") + ("medres-misty-ag.go" "medres-misty") + ("medres-training-ag.go" "medres-training") + ("medres-village11-ag.go" "medres-village11") + ("medres-village12-ag.go" "medres-village12") + ("medres-village13-ag.go" "medres-village13") + ("oracle-ag-VI1.go" "oracle") + ("orb-cache-top-ag-VI1.go" "orb-cache-top") + ("reflector-middle-ag.go" "reflector-middle") + ("revcycle-ag.go" "revcycle") + ("revcycleprop-ag.go" "revcycleprop") + ("ropebridge-32-ag.go" "ropebridge-32") + ("sage-ag.go" "sage") + ("sagesail-ag.go" "sagesail") + ("sharkey-ag-VI1.go" "sharkey") + ("villa-starfish-ag.go" "villa-starfish") + ("village-cam-ag-VI1.go" "village-cam") + ("village1cam-ag.go" "village1cam") + ("warp-gate-switch-ag-VI1-VI3.go" "warp-gate-switch") + ("warpgate-ag.go" "warpgate") + ("water-anim-village1-ag.go" "water-anim-village1") + ("windmill-sail-ag.go" "windmill-sail") + ("windspinner-ag.go" "windspinner") + ("yakow-ag.go" "yakow") + ("village1-vis.go" "village1-vis") + ) + +("VI2.DGO" + ("villagep-obs.o" "villagep-obs") + ("oracle.o" "oracle") + ("village2-part.o" "village2-part") + ("village2-obs.o" "village2-obs") + ("village2-part2.o" "village2-part2") + ("gambler.o" "gambler") + ("warrior.o" "warrior") + ("geologist.o" "geologist") + ("swamp-blimp.o" "swamp-blimp") + ("sage-bluehut.o" "sage-bluehut") + ("flutflut-bluehut.o" "flutflut-bluehut") + ("assistant-village2.o" "assistant-village2") + ("sunken-elevator.o" "sunken-elevator") + ("tpage-919.go" "tpage-919") + ("tpage-922.go" "tpage-922") + ("tpage-920.go" "tpage-920") + ("tpage-921.go" "tpage-921") + ("tpage-1476.go" "tpage-1476") + ("allpontoons-ag.go" "allpontoons") + ("assistant-village2-ag.go" "assistant-village2") + ("barrel-ag-VI2.go" "barrel") + ("ceilingflag-ag.go" "ceilingflag") + ("exit-chamber-dummy-ag.go" "exit-chamber-dummy") + ("fireboulder-ag.go" "fireboulder") + ("flutflut-bluehut-ag.go" "flutflut-bluehut") + ("gambler-ag.go" "gambler") + ("geologist-ag.go" "geologist") + ("jaws-ag.go" "jaws") + ("medres-rolling-ag.go" "medres-rolling") + ("medres-rolling1-ag.go" "medres-rolling1") + ("medres-village2-ag.go" "medres-village2") + ("ogreboss-village2-ag.go" "ogreboss-village2") + ("oracle-ag-VI2.go" "oracle") + ("orb-cache-top-ag-VI2.go" "orb-cache-top") + ("pontoonfive-ag-VI2.go" "pontoonfive") + ("pontoonten-ag.go" "pontoonten") + ("precursor-arm-ag.go" "precursor-arm") + ("sage-bluehut-ag.go" "sage-bluehut") + ("sharkey-ag-BEA-TRA-VI2.go" "sharkey") + ("sunken-elevator-ag.go" "sunken-elevator") + ("swamp-blimp-ag.go" "swamp-blimp") + ("swamp-rope-ag.go" "swamp-rope") + ("swamp-tetherrock-ag.go" "swamp-tetherrock") + ("swamp-tetherrock-explode-ag.go" "swamp-tetherrock-explode") + ("swampcam-ag-VI2.go" "swampcam") + ("village-cam-ag-VI2.go" "village-cam") + ("village2cam-ag.go" "village2cam") + ("warp-gate-switch-ag-VI2.go" "warp-gate-switch") + ("warpgate-ag.go" "warpgate") + ("warrior-ag.go" "warrior") + ("water-anim-village2-ag.go" "water-anim-village2") + ("village2-vis.go" "village2-vis") + ) + +("VI3.DGO" + ("villagep-obs.o" "villagep-obs") + ("oracle.o" "oracle") + ("village3-part.o" "village3-part") + ("village3-obs.o" "village3-obs") + ("minecart.o" "minecart") + ("miners.o" "miners") + ("assistant-village3.o" "assistant-village3") + ("sage-village3.o" "sage-village3") + ("tpage-1208.go" "tpage-1208") + ("tpage-1210.go" "tpage-1210") + ("tpage-1209.go" "tpage-1209") + ("tpage-1194.go" "tpage-1194") + ("assistant-village3-ag.go" "assistant-village3") + ("cavegem-ag.go" "cavegem") + ("evilbro-village3-ag.go" "evilbro-village3") + ("evilsis-village3-ag.go" "evilsis-village3") + ("gondola-ag.go" "gondola") + ("gondolacables-ag.go" "gondolacables") + ("lavaspoutdrip-ag.go" "lavaspoutdrip") + ("medres-finalboss-ag.go" "medres-finalboss") + ("medres-ogre-ag.go" "medres-ogre") + ("medres-ogre2-ag.go" "medres-ogre2") + ("medres-ogre3-ag.go" "medres-ogre3") + ("minecartsteel-ag.go" "minecartsteel") + ("minershort-ag.go" "minershort") + ("minertall-ag.go" "minertall") + ("oracle-ag-VI3.go" "oracle") + ("pistons-ag.go" "pistons") + ("sage-village3-ag.go" "sage-village3") + ("vil3-bridge-36-ag.go" "vil3-bridge-36") + ("village-cam-ag-VI3.go" "village-cam") + ("warp-gate-switch-ag-VI1-VI3.go" "warp-gate-switch") + ("warpgate-ag.go" "warpgate") + ("water-anim-village3-ag.go" "water-anim-village3") + ("village3-vis.go" "village3-vis") + ) + +("VILLAGEP.CGO" + ("villagep-obs.o" "villagep-obs") + ("oracle.o" "oracle") + ) + +("WATER-AN.CGO" + ("water-anim.o" "water-anim") + ("lava.o" "lava") + )