[decompiler] implement defskelgroup (#955)

* implement `defskelgroup` in decompiler

0 lines removed!

* clang

* fix matcher code

* it was fine actually

* update all files (pt 1)

* update all files

* remaining fixes!

* null deref

* use METER_LENGTH

* move max lod warning

* clang

* math error

* fix macros too

* fix bug in a print
This commit is contained in:
ManDude
2021-11-04 23:10:39 +00:00
committed by GitHub
parent 6a606d7222
commit 2ea2d6a58a
160 changed files with 2347 additions and 4665 deletions
+1
View File
@@ -7,6 +7,7 @@ add_library(
analysis/expression_build.cpp
analysis/final_output.cpp
analysis/find_defstates.cpp
analysis/find_skelgroups.cpp
analysis/inline_asm_rewrite.cpp
analysis/insert_lets.cpp
analysis/label_types.cpp
+94
View File
@@ -2916,6 +2916,100 @@ goos::Object DefstateElement::to_form_internal(const Env& env) const {
return pretty_print::build_list(forms);
}
////////////////////////////////
// DefskelgroupElement
////////////////////////////////
DefskelgroupElement::DefskelgroupElement(const std::string& name,
const DefskelgroupElement::Info& info,
const StaticInfo& data)
: m_name(name), m_static_info(data), m_info(info) {
for (auto& e : m_info.lods) {
e.mgeo->parent_element = this;
e.lod_dist->parent_element = this;
}
m_info.janim->parent_element = this;
m_info.jgeo->parent_element = this;
}
void DefskelgroupElement::apply(const std::function<void(FormElement*)>& f) {
f(this);
for (auto& e : m_info.lods) {
e.mgeo->apply(f);
e.lod_dist->apply(f);
}
m_info.janim->apply(f);
m_info.jgeo->apply(f);
}
void DefskelgroupElement::apply_form(const std::function<void(Form*)>& f) {
for (auto& e : m_info.lods) {
e.mgeo->apply_form(f);
e.lod_dist->apply_form(f);
}
m_info.janim->apply_form(f);
m_info.jgeo->apply_form(f);
}
void DefskelgroupElement::collect_vars(RegAccessSet& vars, bool recursive) const {
if (recursive) {
for (auto& e : m_info.lods) {
e.mgeo->collect_vars(vars, recursive);
e.lod_dist->collect_vars(vars, recursive);
}
m_info.janim->collect_vars(vars, recursive);
m_info.jgeo->collect_vars(vars, recursive);
}
}
void DefskelgroupElement::get_modified_regs(RegSet& regs) const {
for (auto& e : m_info.lods) {
e.mgeo->get_modified_regs(regs);
e.lod_dist->get_modified_regs(regs);
}
m_info.janim->get_modified_regs(regs);
m_info.jgeo->get_modified_regs(regs);
}
goos::Object DefskelgroupElement::to_form_internal(const Env& env) const {
std::vector<goos::Object> forms;
forms.push_back(
pretty_print::to_symbol(fmt::format("defskelgroup {} {}", m_name, m_static_info.art_name)));
forms.push_back(m_info.jgeo->to_form(env));
forms.push_back(m_info.janim->to_form(env));
std::vector<goos::Object> lod_forms;
for (const auto& e : m_info.lods) {
auto f_dist = pretty_print::to_symbol(
fmt::format("(meters {})", e.lod_dist->to_form(env).as_float() / METER_LENGTH));
lod_forms.push_back(pretty_print::build_list(e.mgeo->to_form(env), f_dist));
}
forms.push_back(pretty_print::build_list(lod_forms));
forms.push_back(pretty_print::to_symbol(
fmt::format(":bounds (static-spherem {} {} {} {})", m_static_info.bounds.x() / METER_LENGTH,
m_static_info.bounds.y() / METER_LENGTH, m_static_info.bounds.z() / METER_LENGTH,
m_static_info.bounds.w() / METER_LENGTH)));
forms.push_back(pretty_print::to_symbol(
fmt::format(":longest-edge (meters {})", m_static_info.longest_edge / METER_LENGTH)));
if (m_static_info.shadow != 0) {
forms.push_back(pretty_print::to_symbol(fmt::format(":shadow {}", m_static_info.shadow)));
}
if (m_static_info.tex_level != 0) {
forms.push_back(
pretty_print::to_symbol(fmt::format(":texture-level {}", m_static_info.tex_level)));
}
if (m_static_info.sort != 0) {
forms.push_back(pretty_print::to_symbol(fmt::format(":sort {}", m_static_info.sort)));
}
if (m_static_info.version != 6) {
forms.push_back(pretty_print::to_symbol(fmt::format(":version {}", m_static_info.version)));
}
return pretty_print::build_list(forms);
}
////////////////////////////////
// ResLumpMacroElement
////////////////////////////////
+41
View File
@@ -11,6 +11,7 @@
#include "decompiler/Disasm/DecompilerLabel.h"
#include "common/type_system/state.h"
#include "decompiler/IR2/LabelDB.h"
#include "common/math/Vector.h"
namespace decompiler {
class Form;
@@ -1631,6 +1632,46 @@ class DefstateElement : public FormElement {
bool m_is_virtual = false;
};
class DefskelgroupElement : public FormElement {
public:
struct StaticInfo {
std::string art_name;
math::Vector4f bounds;
int max_lod;
float longest_edge;
s8 tex_level;
s8 version;
s8 shadow;
s8 sort;
};
struct Entry {
Form* mgeo = nullptr;
Form* lod_dist = nullptr;
};
struct Info {
Form* jgeo;
Form* janim;
std::vector<Entry> lods;
};
DefskelgroupElement(const std::string& name, const Info& info, const StaticInfo& data);
goos::Object to_form_internal(const Env& env) const override;
void apply(const std::function<void(FormElement*)>& f) override;
void apply_form(const std::function<void(Form*)>& f) override;
void collect_vars(RegAccessSet& vars, bool recursive) const override;
void update_from_stack(const Env& env,
FormPool& pool,
FormStack& stack,
std::vector<FormElement*>* result,
bool allow_side_effects) override;
void get_modified_regs(RegSet& regs) const override;
private:
std::string m_name;
StaticInfo m_static_info;
Info m_info;
};
class ResLumpMacroElement : public FormElement {
public:
enum class Kind { DATA, STRUCT, VALUE, INVALID };
@@ -5280,6 +5280,15 @@ void DefstateElement::update_from_stack(const Env&,
result->push_back(this);
}
void DefskelgroupElement::update_from_stack(const Env&,
FormPool&,
FormStack&,
std::vector<FormElement*>* result,
bool) {
mark_popped();
result->push_back(this);
}
void ResLumpMacroElement::update_from_stack(const Env&,
FormPool&,
FormStack&,
@@ -22,6 +22,7 @@
#include "decompiler/analysis/stack_spill.h"
#include "decompiler/analysis/static_refs.h"
#include "decompiler/analysis/symbol_def_map.h"
#include "decompiler/analysis/find_skelgroups.h"
#include "common/goos/PrettyPrinter.h"
#include "decompiler/IR2/Form.h"
#include "decompiler/analysis/mips2c.h"
@@ -64,6 +65,13 @@ void ObjectFileDB::analyze_functions_ir2(
} catch (const std::exception& e) {
lg::error("Failed to find defstates: {}", e.what());
}
try {
if (data.linked_data.functions_by_seg.size() == 3) {
run_defskelgroups(data.linked_data.functions_by_seg.at(2).front());
}
} catch (const std::exception& e) {
lg::error("Failed to find defskelgroups: {}", e.what());
}
ir2_do_segment_analysis_phase2(DEBUG_SEGMENT, config, data);
ir2_do_segment_analysis_phase2(MAIN_SEGMENT, config, data);
+3 -3
View File
@@ -45,9 +45,9 @@ std::pair<std::string, TypeSpec> get_state_info(FormElement* state_set, const En
if (type->second.base_type() != "state") {
env.func->warnings.warn_and_throw(
"Identified a defstate for state {}, but our type information thinks it is a "
"{}, not a state.",
type->second.print());
"Identified a defstate for state {}, but our type information thinks it is a {}, not a "
"state.",
state_name, type->second.print());
}
if (type->second.arg_count() == 0) {
+225
View File
@@ -0,0 +1,225 @@
#include "find_skelgroups.h"
#include "common/goos/PrettyPrinter.h"
#include "common/math/Vector.h"
#include "decompiler/IR2/Form.h"
#include "decompiler/IR2/GenericElementMatcher.h"
#include "decompiler/ObjectFile/LinkedObjectFile.h"
namespace decompiler {
namespace {
std::string get_skelgroup_name(FormElement* skel_set, const Env& env) {
auto sff = dynamic_cast<SetFormFormElement*>(skel_set);
if (!sff || !skel_set) {
env.func->warnings.warn_and_throw("Failed to identify defskelgroup.");
}
auto atom = form_as_atom(sff->dst());
if (!atom || atom->get_kind() != SimpleAtom::Kind::SYMBOL_VAL) {
env.func->warnings.warn_and_throw(
"Failed to identify defskelgroup. The skeleton-group symbol set was: {}, which doesn't set "
"a symbol",
skel_set->to_string(env));
}
return atom->get_str();
}
static const std::vector<int> empty_words = {1, 2, 7, 8, 10, 11, 12, 13, 16};
DefskelgroupElement::StaticInfo inspect_skel_group_data(DecompiledDataElement* skel,
const Env& env) {
DefskelgroupElement::StaticInfo result;
auto lab = skel->label();
// should have:
/*
.type skeleton-group
L52:
.word L53 // name (string)
.word 0x0 // jgeo
.word 0x0 // janim
.word 0x0 // bounds x
.word 0x0 // bounds y
.word 0x0 // bounds z
.word 0x46400000 // bounds w/radius
.word 0x0 // mgeo 0/1
.word 0x0 // mgeo 2/3
.word 0x2 // max-lod
.word 0x0 // lod dist 0
.word 0x0 // lod dist 1
.word 0x0 // lod dist 2
.word 0x0 // lod dist 3
.word 0x45800000 // longest-edge
.word 0x40600 // texture-level/version/shadow/sort
.word 0x0 // pad
*/
int start_word_idx = lab.offset / 4;
auto& words = env.file->words_by_seg.at(lab.target_segment);
auto& type_word = words.at(start_word_idx - 1);
if (type_word.kind != LinkedWord::TYPE_PTR || type_word.symbol_name != "skeleton-group") {
env.func->warnings.warn_and_throw("Reference to skelgroup bad: invalid type pointer");
}
auto& string_word = words.at(start_word_idx);
if (string_word.kind != LinkedWord::PTR) {
env.func->warnings.warn_and_throw("Reference to skelgroup bad: invalid name label");
}
result.art_name = env.file->get_goal_string_by_label(
env.file->get_label_by_name(env.file->get_label_name(string_word.label_id)));
for (int i = 0; i < 4; i++) {
auto& word = words.at(start_word_idx + 3 + i);
if (word.kind != LinkedWord::PLAIN_DATA) {
env.func->warnings.warn_and_throw("Reference to skelgroup bad: invalid bounds");
}
result.bounds[i] = *reinterpret_cast<float*>(&word.data);
}
auto& lod_word = words.at(start_word_idx + 9);
if (lod_word.kind != LinkedWord::PLAIN_DATA) {
env.func->warnings.warn_and_throw("Reference to skelgroup bad: invalid max-lod");
}
result.max_lod = lod_word.data;
auto& edge_word = words.at(start_word_idx + 14);
if (edge_word.kind != LinkedWord::PLAIN_DATA) {
env.func->warnings.warn_and_throw("Reference to skelgroup bad: invalid longest-edge");
}
result.longest_edge = *reinterpret_cast<float*>(&edge_word.data);
auto& other_word = words.at(start_word_idx + 15);
if (other_word.kind != LinkedWord::PLAIN_DATA) {
env.func->warnings.warn_and_throw("Reference to skelgroup bad: invalid other data");
}
result.tex_level = other_word.get_byte(0);
result.version = other_word.get_byte(1);
result.shadow = other_word.get_byte(2);
result.sort = other_word.get_byte(3);
for (auto i : empty_words) {
auto& word = words.at(start_word_idx + i);
if (word.data != LinkedWord::PLAIN_DATA || word.data != 0) {
env.func->warnings.warn_and_throw(fmt::format("Reference to skelgroup bad: set word {}", i));
}
}
return result;
}
DefskelgroupElement::Info get_defskelgroup_entries(Form* body,
const Env& env,
const DefskelgroupElement::StaticInfo& info,
const RegisterAccess& let_dest_var) {
DefskelgroupElement::Info out_info;
// next, all the handlers
for (int i = 0; i < body->size() - 1; ++i) {
auto matcher = i < 2 ? Matcher::set(Matcher::deref(Matcher::any_reg(0), false,
{DerefTokenMatcher::any_string(1)}),
Matcher::any(2))
: Matcher::set(Matcher::deref(Matcher::any_reg(0), false,
{DerefTokenMatcher::any_string(1),
DerefTokenMatcher::integer(i / 2 - 1)}),
Matcher::any(3));
Form temp;
temp.elts().push_back(body->at(i));
auto mr = match(matcher, &temp);
if (!mr.matched) {
env.func->warnings.warn_and_throw("defskelgroup set no match");
}
auto& var = mr.maps.regs.at(0);
auto& name = mr.maps.strings.at(1);
auto val = i < 2 ? mr.maps.forms.at(2) : mr.maps.forms.at(3);
while (val->try_as_element<CastElement>()) {
val = val->try_as_element<CastElement>()->source();
}
if (!var || env.get_variable_name(*var) != env.get_variable_name(let_dest_var)) {
if (var) {
env.func->warnings.warn_and_throw("Messed up defskelgroup. It is in {}, but we set {}",
env.get_variable_name(let_dest_var),
env.get_variable_name(*var));
} else {
assert(false);
}
}
if (name == "jgeo") {
out_info.jgeo = val;
} else if (name == "janim") {
out_info.janim = val;
} else if (name == "mgeo") {
auto& this_entry = out_info.lods.emplace_back();
this_entry.mgeo = val;
} else if (name == "lod-dist") {
auto& this_entry = out_info.lods.back();
this_entry.lod_dist = val;
}
}
return out_info;
}
FormElement* rewrite_defskelgroup(LetElement* elt,
const Env& env,
DefskelgroupElement::StaticInfo& skelgroup_info,
FormPool& pool) {
// last thing in the body should be something like:
// (set! *hopper-sg* v1-1)
assert(elt->body()->size() > 0);
int last_lod = (elt->body()->size() - 3) / 2 - 1;
if (last_lod > skelgroup_info.max_lod) {
env.func->warnings.warn_and_throw("defskelgroup exceeds max-lod of {} ({})",
skelgroup_info.max_lod, last_lod);
}
auto rest_info =
get_defskelgroup_entries(elt->body(), env, skelgroup_info, elt->entries().at(0).dest);
return pool.alloc_element<DefskelgroupElement>(get_skelgroup_name(elt->body()->back(), env),
rest_info, skelgroup_info);
}
} // namespace
void run_defskelgroups(Function& top_level_func) {
auto& env = top_level_func.ir2.env;
auto& pool = *top_level_func.ir2.form_pool;
if (!top_level_func.ir2.top_form) {
return;
}
top_level_func.ir2.top_form->apply_form([&](Form* form) {
for (auto& fe : form->elts()) {
auto as_let = dynamic_cast<LetElement*>(fe);
if (as_let && as_let->entries().size() == 1) {
/* Looks something like this:
(let ((v1-1 <static-data L57>))
(set! (-> v1-1 jgeo) 0)
(set! (-> v1-1 janim) 5)
(set! (-> v1-1 mgeo 0) 1)
(set! (-> v1-1 lod-dist 0) 81920.0)
(set! (-> v1-1 mgeo 1) 2)
(set! (-> v1-1 lod-dist 1) 163840.0)
(set! (-> v1-1 mgeo 2) 3)
(set! (-> v1-1 lod-dist 2) 4095996000.0)
(set! *hopper-sg* v1-1)
)
*/
// first, see if we get a label:
auto src_as_label = as_let->entries().at(0).src->try_as_element<DecompiledDataElement>();
if (src_as_label && env.get_variable_type(as_let->entries().at(0).dest, false) ==
TypeSpec("skeleton-group")) {
auto sg = inspect_skel_group_data(src_as_label, env);
auto rewritten = rewrite_defskelgroup(as_let, env, sg, pool);
if (rewritten) {
fe = rewritten;
}
}
}
}
});
}
} // namespace decompiler
+8
View File
@@ -0,0 +1,8 @@
#pragma once
#include "decompiler/Function/Function.h"
#include "decompiler/util/DecompilerTypeSystem.h"
namespace decompiler {
void run_defskelgroups(Function& top_level_func);
}
+9 -5
View File
@@ -306,7 +306,9 @@
(defmacro defskelgroup (name art-name joint-geom joint-anim lods
&key (shadow 0)
&key bounds
&key edge
&key longest-edge
&key (texture-level 0)
&key (sort 0)
&key (version 6) ;; do NOT use this!
)
@@ -315,14 +317,16 @@
`(let ((skel (new 'static 'skeleton-group
:art-group-name ,(symbol->string art-name)
:bounds ,bounds
:longest-edge ,edge
:longest-edge ,longest-edge
:version ,version
:max-lod ,(length lods)
:max-lod ,(- (length lods) 1)
:shadow ,shadow
:texture-level ,texture-level
:sort ,sort
)))
;; set joint geometry and joint bones
(set! (-> skel jgeo) joint-geom)
(set! (-> skel janim) joint-anim)
(set! (-> skel jgeo) ,joint-geom)
(set! (-> skel janim) ,joint-anim)
;; set lods
,@(apply-i (lambda (x i)
+5
View File
@@ -389,6 +389,11 @@
:flag-assert #x900000010
)
(defmacro static-spherem (x y z r)
"actually makes a vector"
`(new 'static 'vector :x (meters ,x) :y (meters ,y) :z (meters ,z) :w (meters ,r))
)
(deftype box8s (structure)
((data float 8 :offset-assert 0)
(quad uint128 2 :offset 0)
+9 -20
View File
@@ -5,7 +5,6 @@
;; name in dgo: target-util
;; dgos: GAME, ENGINE
(define-extern *jchar-sg* skeleton-group)
(define-extern target-collide-set! (function symbol float int :behavior target))
;; note: this file has a modification to let us run with an incompletely constructed target.
@@ -13,25 +12,15 @@
;; DECOMP BEGINS
(let
((v1-0
(new 'static 'skeleton-group
:art-group-name "eichar"
:bounds
(new 'static 'vector :y 8192.0 :w 12288.0)
:longest-edge (meters 1.0)
:texture-level 2
:version #x6
:shadow 2
:sort 1
)
)
)
(set! (-> v1-0 jgeo) 0)
(set! (-> v1-0 janim) -1)
(set! (-> v1-0 mgeo 0) 1)
(set! (-> v1-0 lod-dist 0) 4095996000.0)
(set! *jchar-sg* v1-0)
(defskelgroup *jchar-sg* eichar
0
-1
((1 (meters 999999)))
:bounds (static-spherem 0 2 0 3)
:longest-edge (meters 1)
:shadow 2
:texture-level 2
:sort 1
)
(define
+7 -18
View File
@@ -5,8 +5,6 @@
;; name in dgo: hud-classes
;; dgos: GAME, ENGINE
(define-extern *fuelcell-naked-sg* skeleton-group)
;; DECOMP BEGINS
(set!
@@ -1156,22 +1154,13 @@
-0.011
)
(let
((v1-24
(new 'static 'skeleton-group
:art-group-name "fuelcell-naked"
:bounds
(new 'static 'vector :y 4096.0 :w 6553.6)
:texture-level 2
:version #x6
)
)
)
(set! (-> v1-24 jgeo) 0)
(set! (-> v1-24 janim) 2)
(set! (-> v1-24 mgeo 0) 1)
(set! (-> v1-24 lod-dist 0) 4095996000.0)
(set! *fuelcell-naked-sg* v1-24)
(defskelgroup *fuelcell-naked-sg* fuelcell-naked
0
2
((1 (meters 999999)))
:bounds (static-spherem 0 1 0 1.6)
:longest-edge (meters 0)
:texture-level 2
)
(set!
+8 -1
View File
@@ -5,5 +5,12 @@
;; name in dgo: beach-obs
;; dgos: BEA, L1
(define-extern *flutflut-naked-sg* skeleton-group)
(define-extern *beachcam-sg* skeleton-group)
(define-extern *harvester-sg* skeleton-group)
(define-extern *flutflutegg-sg* skeleton-group)
(define-extern *bladeassm-sg* skeleton-group)
(define-extern *kickrock-sg* skeleton-group)
(define-extern *ecoventrock-sg* skeleton-group)
(define-extern *grottopole-sg* skeleton-group)
(define-extern *windmill-one-sg* skeleton-group)
(define-extern *flutflut-naked-sg* skeleton-group)
+6 -17
View File
@@ -5,25 +5,14 @@
;; name in dgo: beach-rocks
;; dgos: BEA, L1
(define-extern *lrocklrg-sg* skeleton-group)
;; DECOMP BEGINS
(let
((v1-0
(new 'static 'skeleton-group
:art-group-name "lrocklrg"
:bounds (new 'static 'vector :w 20480.0)
:longest-edge (meters 11.0)
:version #x6
)
)
)
(set! (-> v1-0 jgeo) 0)
(set! (-> v1-0 janim) 2)
(set! (-> v1-0 mgeo 0) 1)
(set! (-> v1-0 lod-dist 0) 4095996000.0)
(set! *lrocklrg-sg* v1-0)
(defskelgroup *lrocklrg-sg* lrocklrg
0
2
((1 (meters 999999)))
:bounds (static-spherem 0 0 0 5)
:longest-edge (meters 11)
)
(set!
+11 -24
View File
@@ -5,8 +5,6 @@
;; name in dgo: bird-lady-beach
;; dgos: BEA, L1
(define-extern *bird-lady-beach-sg* skeleton-group)
;; DECOMP BEGINS
(deftype bird-lady-beach (process-taskable)
@@ -20,21 +18,13 @@
)
(let
((v1-1
(new 'static 'skeleton-group
:art-group-name "bird-lady-beach"
:bounds (new 'static 'vector :w 16384.0)
:version #x6
:shadow 2
)
)
)
(set! (-> v1-1 jgeo) 0)
(set! (-> v1-1 janim) 3)
(set! (-> v1-1 mgeo 0) 1)
(set! (-> v1-1 lod-dist 0) 4095996000.0)
(set! *bird-lady-beach-sg* v1-1)
(defskelgroup *bird-lady-beach-sg* bird-lady-beach
0
3
((1 (meters 999999)))
:bounds (static-spherem 0 0 0 4)
:longest-edge (meters 0)
:shadow 2
)
(defstate idle (bird-lady-beach)
@@ -61,12 +51,9 @@
(defmethod play-anim! bird-lady-beach ((obj bird-lady-beach) (arg0 symbol))
(case (current-status (-> obj tasks))
((6)
(((task-status need-reward-speech))
(when arg0
(set!
(-> obj cell-for-task)
(the-as game-task (current-task (-> obj tasks)))
)
(set! (-> obj cell-for-task) (current-task (-> obj tasks)))
(close-current! (-> obj tasks))
(let ((s5-1 (get-process *default-dead-pool* manipy #x4000)))
(set! (-> obj flutflut) (ppointer->handle (when s5-1
@@ -157,7 +144,7 @@
0
"ERROR: <GMJ>: ~S playing anim for task status ~S~%"
(-> obj name)
(task-status->string (the-as task-status (current-status (-> obj tasks))))
(task-status->string (current-status (-> obj tasks)))
)
)
(-> obj draw art-group data 3)
@@ -170,7 +157,7 @@
)
(defmethod should-display? bird-lady-beach ((obj bird-lady-beach))
(= (current-status (-> obj tasks)) 6)
(= (current-status (-> obj tasks)) (task-status need-reward-speech))
)
(defmethod copy-defaults! bird-lady-beach ((obj bird-lady-beach) (arg0 res-lump))
+7 -18
View File
@@ -5,8 +5,6 @@
;; name in dgo: bird-lady
;; dgos: BEA, L1
(define-extern *bird-lady-sg* skeleton-group)
;; DECOMP BEGINS
(deftype bird-lady (process-taskable)
@@ -18,22 +16,13 @@
)
(let
((v1-1
(new 'static 'skeleton-group
:art-group-name "bird-lady"
:bounds
(new 'static 'vector :y 4096.0 :w 10240.0)
:version #x6
:shadow 2
)
)
)
(set! (-> v1-1 jgeo) 0)
(set! (-> v1-1 janim) 3)
(set! (-> v1-1 mgeo 0) 1)
(set! (-> v1-1 lod-dist 0) 4095996000.0)
(set! *bird-lady-sg* v1-1)
(defskelgroup *bird-lady-sg* bird-lady
0
3
((1 (meters 999999)))
:bounds (static-spherem 0 1 0 2.5)
:longest-edge (meters 0)
:shadow 2
)
(defmethod dummy-52 bird-lady ((obj bird-lady))
+6 -21
View File
@@ -5,8 +5,6 @@
;; name in dgo: lurkercrab
;; dgos: BEA, L1
(define-extern *lurkercrab-sg* skeleton-group)
;; DECOMP BEGINS
(set!
@@ -91,25 +89,12 @@
)
(let
((v1-4
(new 'static 'skeleton-group
:art-group-name "lurkercrab"
:bounds (new 'static 'vector :w 10240.0)
:max-lod 2
:version #x6
)
)
)
(set! (-> v1-4 jgeo) 0)
(set! (-> v1-4 janim) 4)
(set! (-> v1-4 mgeo 0) 1)
(set! (-> v1-4 lod-dist 0) 81920.0)
(set! (-> v1-4 mgeo 1) 2)
(set! (-> v1-4 lod-dist 1) 163840.0)
(set! (-> v1-4 mgeo 2) 3)
(set! (-> v1-4 lod-dist 2) 4095996000.0)
(set! *lurkercrab-sg* v1-4)
(defskelgroup *lurkercrab-sg* lurkercrab
0
4
((1 (meters 20)) (2 (meters 40)) (3 (meters 999999)))
:bounds (static-spherem 0 0 0 2.5)
:longest-edge (meters 0)
)
(defmethod
+7 -22
View File
@@ -5,8 +5,6 @@
;; name in dgo: lurkerpuppy
;; dgos: BEA, L1
(define-extern *lurkerpuppy-sg* skeleton-group)
;; DECOMP BEGINS
(deftype lurkerpuppy (nav-enemy)
@@ -18,26 +16,13 @@
)
(let
((v1-1
(new 'static 'skeleton-group
:art-group-name "lurkerpuppy"
:bounds (new 'static 'vector :w 8192.0)
:max-lod 2
:version #x6
:shadow 4
)
)
)
(set! (-> v1-1 jgeo) 0)
(set! (-> v1-1 janim) 5)
(set! (-> v1-1 mgeo 0) 1)
(set! (-> v1-1 lod-dist 0) 81920.0)
(set! (-> v1-1 mgeo 1) 2)
(set! (-> v1-1 lod-dist 1) 163840.0)
(set! (-> v1-1 mgeo 2) 3)
(set! (-> v1-1 lod-dist 2) 4095996000.0)
(set! *lurkerpuppy-sg* v1-1)
(defskelgroup *lurkerpuppy-sg* lurkerpuppy
0
5
((1 (meters 20)) (2 (meters 40)) (3 (meters 999999)))
:bounds (static-spherem 0 0 0 2)
:longest-edge (meters 0)
:shadow 4
)
nav-enemy-default-event-handler
+7 -17
View File
@@ -5,8 +5,6 @@
;; name in dgo: mayor
;; dgos: BEA, L1
(define-extern *mayor-sg* skeleton-group)
;; DECOMP BEGINS
(deftype mayor (process-taskable)
@@ -18,21 +16,13 @@
)
(let
((v1-1
(new 'static 'skeleton-group
:art-group-name "mayor"
:bounds (new 'static 'vector :w 10240.0)
:version #x6
:shadow 2
)
)
)
(set! (-> v1-1 jgeo) 0)
(set! (-> v1-1 janim) 3)
(set! (-> v1-1 mgeo 0) 1)
(set! (-> v1-1 lod-dist 0) 4095996000.0)
(set! *mayor-sg* v1-1)
(defskelgroup *mayor-sg* mayor
0
3
((1 (meters 999999)))
:bounds (static-spherem 0 0 0 2.5)
:longest-edge (meters 0)
:shadow 2
)
(defmethod dummy-52 mayor ((obj mayor))
+13 -32
View File
@@ -4,9 +4,6 @@
;; name: sculptor.gc
;; name in dgo: sculptor
;; dgos: BEA, L1
(define-extern *sculptor-sg* skeleton-group)
(define-extern *sculptor-muse-sg* skeleton-group)
(declare-type muse nav-enemy)
;; DECOMP BEGINS
@@ -21,37 +18,21 @@
)
(let
((v1-1
(new 'static 'skeleton-group
:art-group-name "sculptor-muse"
:bounds (new 'static 'vector :w 10240.0)
:version #x6
)
)
)
(set! (-> v1-1 jgeo) 0)
(set! (-> v1-1 janim) 2)
(set! (-> v1-1 mgeo 0) 1)
(set! (-> v1-1 lod-dist 0) 4095996000.0)
(set! *sculptor-muse-sg* v1-1)
(defskelgroup *sculptor-muse-sg* sculptor-muse
0
2
((1 (meters 999999)))
:bounds (static-spherem 0 0 0 2.5)
:longest-edge (meters 0)
)
(let
((v1-2
(new 'static 'skeleton-group
:art-group-name "sculptor"
:bounds (new 'static 'vector :w 10240.0)
:version #x6
:shadow 2
)
)
)
(set! (-> v1-2 jgeo) 0)
(set! (-> v1-2 janim) 4)
(set! (-> v1-2 mgeo 0) 1)
(set! (-> v1-2 lod-dist 0) 4095996000.0)
(set! *sculptor-sg* v1-2)
(defskelgroup *sculptor-sg* sculptor
0
4
((1 (meters 999999)))
:bounds (static-spherem 0 0 0 2.5)
:longest-edge (meters 0)
:shadow 2
)
(defmethod dummy-52 sculptor ((obj sculptor))
+14 -21
View File
@@ -5,8 +5,6 @@
;; name in dgo: assistant-citadel
;; dgos: CIT, L1
(define-extern *assistant-lavatube-end-sg* skeleton-group)
;; DECOMP BEGINS
(deftype assistant-lavatube-end (process-taskable)
@@ -18,21 +16,13 @@
)
(let
((v1-1
(new 'static 'skeleton-group
:art-group-name "assistant-lavatube-end"
:bounds (new 'static 'vector :w 16384.0)
:version #x6
:shadow 2
)
)
)
(set! (-> v1-1 jgeo) 0)
(set! (-> v1-1 janim) 3)
(set! (-> v1-1 mgeo 0) 1)
(set! (-> v1-1 lod-dist 0) 4095996000.0)
(set! *assistant-lavatube-end-sg* v1-1)
(defskelgroup *assistant-lavatube-end-sg* assistant-lavatube-end
0
3
((1 (meters 999999)))
:bounds (static-spherem 0 0 0 4)
:longest-edge (meters 0)
:shadow 2
)
(defmethod
@@ -40,7 +30,7 @@
assistant-lavatube-end
((obj assistant-lavatube-end) (arg0 symbol))
(case (current-status (-> obj tasks))
((1 2)
(((task-status unknown) (task-status need-hint))
(new 'static 'spool-anim
:name "assistant-lavatube-end-resolution"
:index 4
@@ -48,7 +38,7 @@
:command-list '()
)
)
((6)
(((task-status need-reward-speech))
(if arg0
(close-current! (-> obj tasks))
)
@@ -118,7 +108,7 @@
0
"ERROR: <GMJ>: ~S playing anim for task status ~S~%"
(-> obj name)
(task-status->string (the-as task-status (current-status (-> obj tasks))))
(task-status->string (current-status (-> obj tasks)))
)
)
(get-art-elem obj)
@@ -241,7 +231,10 @@
(first-any (-> obj tasks) #t)
(let ((v1-3 (current-status (-> obj tasks))))
(and
(or (= v1-3 6) (= v1-3 0))
(or
(= v1-3 (task-status need-reward-speech))
(= v1-3 (task-status invalid))
)
(not (task-closed? (game-task citadel-sage-green) (task-status need-hint)))
)
)
+30 -91
View File
@@ -5,12 +5,6 @@
;; name in dgo: citb-drop-plat
;; dgos: CIT
(define-extern *citb-drop-plat-red-sg* skeleton-group)
(define-extern *citb-drop-plat-green-sg* skeleton-group)
(define-extern *citb-drop-plat-blue-sg* skeleton-group)
(define-extern *citb-drop-plat-yellow-sg* skeleton-group)
(define-extern *citb-drop-plat-sg* skeleton-group)
(declare-type drop-plat process)
(declare-type citb-drop-plat process)
(define-extern drop-plat-die (state drop-plat)) ;; unknown type
@@ -23,99 +17,44 @@
;; DECOMP BEGINS
(let
((v1-0
(new 'static 'skeleton-group
:art-group-name "citb-drop-plat"
:bounds (new 'static 'vector :w 12288.0)
:max-lod 1
:version #x6
)
)
)
(set! (-> v1-0 jgeo) 0)
(set! (-> v1-0 janim) 3)
(set! (-> v1-0 mgeo 0) 1)
(set! (-> v1-0 lod-dist 0) 81920.0)
(set! (-> v1-0 mgeo 1) 2)
(set! (-> v1-0 lod-dist 1) 4095996000.0)
(set! *citb-drop-plat-sg* v1-0)
(defskelgroup *citb-drop-plat-sg* citb-drop-plat
0
3
((1 (meters 20)) (2 (meters 999999)))
:bounds (static-spherem 0 0 0 3)
:longest-edge (meters 0)
)
(let
((v1-1
(new 'static 'skeleton-group
:art-group-name "citb-drop-plat"
:bounds (new 'static 'vector :w 12288.0)
:max-lod 1
:version #x6
)
)
)
(set! (-> v1-1 jgeo) 4)
(set! (-> v1-1 janim) 7)
(set! (-> v1-1 mgeo 0) 5)
(set! (-> v1-1 lod-dist 0) 81920.0)
(set! (-> v1-1 mgeo 1) 6)
(set! (-> v1-1 lod-dist 1) 4095996000.0)
(set! *citb-drop-plat-red-sg* v1-1)
(defskelgroup *citb-drop-plat-red-sg* citb-drop-plat
4
7
((5 (meters 20)) (6 (meters 999999)))
:bounds (static-spherem 0 0 0 3)
:longest-edge (meters 0)
)
(let
((v1-2
(new 'static 'skeleton-group
:art-group-name "citb-drop-plat"
:bounds (new 'static 'vector :w 12288.0)
:max-lod 1
:version #x6
)
)
)
(set! (-> v1-2 jgeo) 8)
(set! (-> v1-2 janim) 11)
(set! (-> v1-2 mgeo 0) 9)
(set! (-> v1-2 lod-dist 0) 81920.0)
(set! (-> v1-2 mgeo 1) 10)
(set! (-> v1-2 lod-dist 1) 4095996000.0)
(set! *citb-drop-plat-green-sg* v1-2)
(defskelgroup *citb-drop-plat-green-sg* citb-drop-plat
8
11
((9 (meters 20)) (10 (meters 999999)))
:bounds (static-spherem 0 0 0 3)
:longest-edge (meters 0)
)
(let
((v1-3
(new 'static 'skeleton-group
:art-group-name "citb-drop-plat"
:bounds (new 'static 'vector :w 12288.0)
:max-lod 1
:version #x6
)
)
)
(set! (-> v1-3 jgeo) 12)
(set! (-> v1-3 janim) 15)
(set! (-> v1-3 mgeo 0) 13)
(set! (-> v1-3 lod-dist 0) 81920.0)
(set! (-> v1-3 mgeo 1) 14)
(set! (-> v1-3 lod-dist 1) 4095996000.0)
(set! *citb-drop-plat-blue-sg* v1-3)
(defskelgroup *citb-drop-plat-blue-sg* citb-drop-plat
12
15
((13 (meters 20)) (14 (meters 999999)))
:bounds (static-spherem 0 0 0 3)
:longest-edge (meters 0)
)
(let
((v1-4
(new 'static 'skeleton-group
:art-group-name "citb-drop-plat"
:bounds (new 'static 'vector :w 12288.0)
:max-lod 1
:version #x6
)
)
)
(set! (-> v1-4 jgeo) 16)
(set! (-> v1-4 janim) 19)
(set! (-> v1-4 mgeo 0) 17)
(set! (-> v1-4 lod-dist 0) 81920.0)
(set! (-> v1-4 mgeo 1) 18)
(set! (-> v1-4 lod-dist 1) 4095996000.0)
(set! *citb-drop-plat-yellow-sg* v1-4)
(defskelgroup *citb-drop-plat-yellow-sg* citb-drop-plat
16
19
((17 (meters 20)) (18 (meters 999999)))
:bounds (static-spherem 0 0 0 3)
:longest-edge (meters 0)
)
(deftype drop-plat (process-drawable)
+7 -24
View File
@@ -5,8 +5,6 @@
;; name in dgo: babak
;; dgos: GAME, COMMON, L1
(define-extern *babak-sg* skeleton-group)
;; DECOMP BEGINS
(deftype babak (nav-enemy)
@@ -18,28 +16,13 @@
)
(let
((v1-1
(new 'static 'skeleton-group
:art-group-name "babak"
:bounds
(new 'static 'vector :y 8192.0 :w 12288.0)
:max-lod 2
:longest-edge (meters 1.0)
:version #x6
:shadow 4
)
)
)
(set! (-> v1-1 jgeo) 0)
(set! (-> v1-1 janim) -1)
(set! (-> v1-1 mgeo 0) 1)
(set! (-> v1-1 lod-dist 0) 81920.0)
(set! (-> v1-1 mgeo 1) 2)
(set! (-> v1-1 lod-dist 1) 163840.0)
(set! (-> v1-1 mgeo 2) 3)
(set! (-> v1-1 lod-dist 2) 4095996000.0)
(set! *babak-sg* v1-1)
(defskelgroup *babak-sg* babak
0
-1
((1 (meters 20)) (2 (meters 40)) (3 (meters 999999)))
:bounds (static-spherem 0 2 0 3)
:longest-edge (meters 1)
:shadow 4
)
(defstate nav-enemy-patrol (babak)
+6 -15
View File
@@ -5,7 +5,6 @@
;; name in dgo: basebutton
;; dgos: GAME, COMMON, L1
(define-extern *generic-button-sg* skeleton-group)
(define-extern target-warp-out (state vector vector target))
;; DECOMP BEGINS
@@ -47,20 +46,12 @@
)
(let
((v1-1
(new 'static 'skeleton-group
:art-group-name "generic-button"
:bounds (new 'static 'vector :w 12288.0)
:version #x6
)
)
)
(set! (-> v1-1 jgeo) 0)
(set! (-> v1-1 janim) 2)
(set! (-> v1-1 mgeo 0) 1)
(set! (-> v1-1 lod-dist 0) 4095996000.0)
(set! *generic-button-sg* v1-1)
(defskelgroup *generic-button-sg* generic-button
0
2
((1 (meters 999999)))
:bounds (static-spherem 0 0 0 3)
:longest-edge (meters 0)
)
(defmethod
+6 -16
View File
@@ -5,8 +5,6 @@
;; name in dgo: blocking-plane
;; dgos: L1, FIC, LAV, MIS, OGR, RACERP, ROL, SNO, SWA
(define-extern *ef-plane-sg* skeleton-group)
;; DECOMP BEGINS
(deftype blocking-plane (process-drawable)
@@ -18,20 +16,12 @@
)
(let
((v1-1
(new 'static 'skeleton-group
:art-group-name "ef-plane"
:bounds (new 'static 'vector :w 122880.0)
:version #x6
)
)
)
(set! (-> v1-1 jgeo) 0)
(set! (-> v1-1 janim) 2)
(set! (-> v1-1 mgeo 0) 1)
(set! (-> v1-1 lod-dist 0) 4095996000.0)
(set! *ef-plane-sg* v1-1)
(defskelgroup *ef-plane-sg* ef-plane
0
2
((1 (meters 999999)))
:bounds (static-spherem 0 0 0 30)
:longest-edge (meters 0)
)
(defstate blocking-plane-idle (blocking-plane)
+7 -18
View File
@@ -5,8 +5,6 @@
;; name in dgo: plat-button
;; dgos: GAME, COMMON, L1
(define-extern *plat-button-sg* skeleton-group)
;; DECOMP BEGINS
(deftype plat-button (process-drawable)
@@ -43,21 +41,12 @@
)
(let
((v1-1
(new 'static 'skeleton-group
:art-group-name "plat-button"
:bounds
(new 'static 'vector :y -4096.0 :w 27033.6)
:version #x6
)
)
)
(set! (-> v1-1 jgeo) 0)
(set! (-> v1-1 janim) 2)
(set! (-> v1-1 mgeo 0) 1)
(set! (-> v1-1 lod-dist 0) 4095996000.0)
(set! *plat-button-sg* v1-1)
(defskelgroup *plat-button-sg* plat-button
0
2
((1 (meters 999999)))
:bounds (static-spherem 0 -1 0 6.6)
:longest-edge (meters 0)
)
(defmethod should-teleport? plat-button ((obj plat-button))
@@ -88,7 +77,7 @@
(or
(not (-> self should-grab-player?))
(let ((v0-3 (process-grab? *target*)))
(set! (-> self grab-player?) (the-as symbol v0-3))
(set! (-> self grab-player?) v0-3)
v0-3
)
)
+18 -54
View File
@@ -5,10 +5,6 @@
;; name in dgo: plat
;; dgos: GAME, COMMON, L1
(define-extern *plat-jungleb-sg* skeleton-group)
(define-extern *plat-sunken-sg* skeleton-group)
(define-extern *plat-sg* skeleton-group)
;; DECOMP BEGINS
(set!
@@ -99,60 +95,28 @@
)
(let
((v1-4
(new 'static 'skeleton-group
:art-group-name "plat"
:bounds
(new 'static 'vector :y -2048.0 :w 12288.0)
:max-lod 2
:version #x6
)
)
)
(set! (-> v1-4 jgeo) 0)
(set! (-> v1-4 janim) 4)
(set! (-> v1-4 mgeo 0) 1)
(set! (-> v1-4 lod-dist 0) 81920.0)
(set! (-> v1-4 mgeo 1) 2)
(set! (-> v1-4 lod-dist 1) 163840.0)
(set! (-> v1-4 mgeo 2) 3)
(set! (-> v1-4 lod-dist 2) 4095996000.0)
(set! *plat-sg* v1-4)
(defskelgroup *plat-sg* plat
0
4
((1 (meters 20)) (2 (meters 40)) (3 (meters 999999)))
:bounds (static-spherem 0 -0.5 0 3)
:longest-edge (meters 0)
)
(let
((v1-5
(new 'static 'skeleton-group
:art-group-name "plat-jungleb"
:bounds
(new 'static 'vector :y -2048.0 :w 12288.0)
:version #x6
)
)
)
(set! (-> v1-5 jgeo) 0)
(set! (-> v1-5 janim) 4)
(set! (-> v1-5 mgeo 0) 1)
(set! (-> v1-5 lod-dist 0) 4095996000.0)
(set! *plat-jungleb-sg* v1-5)
(defskelgroup *plat-jungleb-sg* plat-jungleb
0
4
((1 (meters 999999)))
:bounds (static-spherem 0 -0.5 0 3)
:longest-edge (meters 0)
)
(let
((v1-6
(new 'static 'skeleton-group
:art-group-name "plat-sunken"
:bounds
(new 'static 'vector :y -2048.0 :w 13107.2)
:version #x6
)
)
)
(set! (-> v1-6 jgeo) 0)
(set! (-> v1-6 janim) 4)
(set! (-> v1-6 mgeo 0) 1)
(set! (-> v1-6 lod-dist 0) 4095996000.0)
(set! *plat-sunken-sg* v1-6)
(defskelgroup *plat-sunken-sg* plat-sunken
0
4
((1 (meters 999999)))
:bounds (static-spherem 0 -0.5 0 3.2)
:longest-edge (meters 0)
)
(defmethod get-unlit-skel plat ((obj plat))
+6 -16
View File
@@ -5,8 +5,6 @@
;; name in dgo: sharkey
;; dgos: GAME, COMMON, L1
(define-extern *sharkey-sg* skeleton-group)
;; DECOMP BEGINS
(set!
@@ -65,20 +63,12 @@
)
(let
((v1-2
(new 'static 'skeleton-group
:art-group-name "sharkey"
:bounds (new 'static 'vector :w 24576.0)
:version #x6
)
)
)
(set! (-> v1-2 jgeo) 0)
(set! (-> v1-2 janim) 2)
(set! (-> v1-2 mgeo 0) 1)
(set! (-> v1-2 lod-dist 0) 4095996000.0)
(set! *sharkey-sg* v1-2)
(defskelgroup *sharkey-sg* sharkey
0
2
((1 (meters 999999)))
:bounds (static-spherem 0 0 0 6)
:longest-edge (meters 0)
)
(defmethod
+18 -48
View File
@@ -8,10 +8,6 @@
(declare-type final-door process-drawable)
(declare-type power-left final-door)
(define-extern *powercellalt-sg* skeleton-group)
(define-extern *power-right-sg* skeleton-group)
(define-extern *power-left-sg* skeleton-group)
;; DECOMP BEGINS
(deftype fin-door (process-hidden)
@@ -36,54 +32,28 @@
)
(let
((v1-2
(new 'static 'skeleton-group
:art-group-name "power-left"
:bounds
(new 'static 'vector :y 45056.0 :w 49152.0)
:version #x6
)
)
)
(set! (-> v1-2 jgeo) 0)
(set! (-> v1-2 janim) 2)
(set! (-> v1-2 mgeo 0) 1)
(set! (-> v1-2 lod-dist 0) 4095996000.0)
(set! *power-left-sg* v1-2)
(defskelgroup *power-left-sg* power-left
0
2
((1 (meters 999999)))
:bounds (static-spherem 0 11 0 12)
:longest-edge (meters 0)
)
(let
((v1-3
(new 'static 'skeleton-group
:art-group-name "power-right"
:bounds
(new 'static 'vector :y 45056.0 :w 49152.0)
:version #x6
)
)
)
(set! (-> v1-3 jgeo) 0)
(set! (-> v1-3 janim) 2)
(set! (-> v1-3 mgeo 0) 1)
(set! (-> v1-3 lod-dist 0) 4095996000.0)
(set! *power-right-sg* v1-3)
(defskelgroup *power-right-sg* power-right
0
2
((1 (meters 999999)))
:bounds (static-spherem 0 11 0 12)
:longest-edge (meters 0)
)
(let
((v1-4
(new 'static 'skeleton-group
:art-group-name "powercellalt"
:bounds (new 'static 'vector :w 8192.0)
:version #x6
)
)
)
(set! (-> v1-4 jgeo) 0)
(set! (-> v1-4 janim) 2)
(set! (-> v1-4 mgeo 0) 1)
(set! (-> v1-4 lod-dist 0) 4095996000.0)
(set! *powercellalt-sg* v1-4)
(defskelgroup *powercellalt-sg* powercellalt
0
2
((1 (meters 999999)))
:bounds (static-spherem 0 0 0 2)
:longest-edge (meters 0)
)
(defstate idle (final-door)
+7 -17
View File
@@ -5,8 +5,6 @@
;; name in dgo: green-eco-lurker
;; dgos: FIN, L1
(define-extern *green-eco-lurker-sg* skeleton-group)
;; DECOMP BEGINS
(deftype green-eco-lurker (nav-enemy)
@@ -38,21 +36,13 @@
)
(let
((v1-2
(new 'static 'skeleton-group
:art-group-name "green-eco-lurker"
:bounds (new 'static 'vector :w 24371.2)
:version #x6
:shadow 2
)
)
)
(set! (-> v1-2 jgeo) 0)
(set! (-> v1-2 janim) -1)
(set! (-> v1-2 mgeo 0) 1)
(set! (-> v1-2 lod-dist 0) 4095996000.0)
(set! *green-eco-lurker-sg* v1-2)
(defskelgroup *green-eco-lurker-sg* green-eco-lurker
0
-1
((1 (meters 999999)))
:bounds (static-spherem 0 0 0 5.95)
:longest-edge (meters 0)
:shadow 2
)
(define
+12 -31
View File
@@ -5,9 +5,6 @@
;; name in dgo: light-eco
;; dgos: FIN, L1
(define-extern *light-eco-big-sg* skeleton-group)
(define-extern *light-eco-small-sg* skeleton-group)
;; DECOMP BEGINS
(deftype light-eco-child (process-drawable)
@@ -59,36 +56,20 @@
)
(let
((v1-2
(new 'static 'skeleton-group
:art-group-name "light-eco"
:bounds (new 'static 'vector :w 36864.0)
:version #x6
)
)
)
(set! (-> v1-2 jgeo) 0)
(set! (-> v1-2 janim) -1)
(set! (-> v1-2 mgeo 0) 1)
(set! (-> v1-2 lod-dist 0) 4095996000.0)
(set! *light-eco-big-sg* v1-2)
(defskelgroup *light-eco-big-sg* light-eco
0
-1
((1 (meters 999999)))
:bounds (static-spherem 0 0 0 9)
:longest-edge (meters 0)
)
(let
((v1-3
(new 'static 'skeleton-group
:art-group-name "light-eco"
:bounds (new 'static 'vector :w 6144.0)
:version #x6
)
)
)
(set! (-> v1-3 jgeo) 3)
(set! (-> v1-3 janim) -1)
(set! (-> v1-3 mgeo 0) 4)
(set! (-> v1-3 lod-dist 0) 4095996000.0)
(set! *light-eco-small-sg* v1-3)
(defskelgroup *light-eco-small-sg* light-eco
3
-1
((4 (meters 999999)))
:bounds (static-spherem 0 0 0 1.5)
:longest-edge (meters 0)
)
(set!
+6 -18
View File
@@ -5,8 +5,6 @@
;; name in dgo: robotboss-h
;; dgos: FIN, L1
(define-extern *robotboss-sg* skeleton-group)
;; DECOMP BEGINS
(deftype robotboss-dda (structure)
@@ -127,22 +125,12 @@
)
)
(let
((v0-6
(new 'static 'skeleton-group
:art-group-name "robotboss"
:bounds
(new 'static 'vector :y -40960.0 :w 327680.0)
:longest-edge (meters 19.9)
:version #x6
)
)
)
(set! (-> v0-6 jgeo) 0)
(set! (-> v0-6 janim) 2)
(set! (-> v0-6 mgeo 0) 1)
(set! (-> v0-6 lod-dist 0) 4095996000.0)
(set! *robotboss-sg* v0-6)
(defskelgroup *robotboss-sg* robotboss
0
2
((1 (meters 999999)))
:bounds (static-spherem 0 -10 0 80)
:longest-edge (meters 19.9)
)
+24 -64
View File
@@ -5,32 +5,17 @@
;; name in dgo: robotboss-misc
;; dgos: FIN, L1
(define-extern *med-res-snow1-sg* skeleton-group)
(define-extern *ecoclaw-sg* skeleton-group)
(define-extern *silodoor-sg* skeleton-group)
(define-extern *finalbosscam-sg* skeleton-group)
(declare-type ecoclaw process-drawable)
(define-extern *ecoclaw* (pointer ecoclaw))
;; DECOMP BEGINS
(let
((v1-0
(new 'static 'skeleton-group
:art-group-name "medres-snowback"
:bounds
(new 'static 'vector :x -1474560.0 :y 409600.0 :z 409600.0 :w 1556480.0)
:longest-edge (meters 0.01)
:version #x6
)
)
)
(set! (-> v1-0 jgeo) 0)
(set! (-> v1-0 janim) 2)
(set! (-> v1-0 mgeo 0) 1)
(set! (-> v1-0 lod-dist 0) 4095996000.0)
(set! *med-res-snow1-sg* v1-0)
(defskelgroup *med-res-snow1-sg* medres-snowback
0
2
((1 (meters 999999)))
:bounds (static-spherem -360 100 100 380)
:longest-edge (meters 0.01)
)
(defstate cam-robotboss (camera-slave)
@@ -140,21 +125,12 @@
)
(let
((v1-4
(new 'static 'skeleton-group
:art-group-name "ecoclaw"
:bounds
(new 'static 'vector :y 8192.0 :w 36864.0)
:version #x6
)
)
)
(set! (-> v1-4 jgeo) 0)
(set! (-> v1-4 janim) 2)
(set! (-> v1-4 mgeo 0) 1)
(set! (-> v1-4 lod-dist 0) 4095996000.0)
(set! *ecoclaw-sg* v1-4)
(defskelgroup *ecoclaw-sg* ecoclaw
0
2
((1 (meters 999999)))
:bounds (static-spherem 0 2 0 9)
:longest-edge (meters 0)
)
(defun ecoclaw-beam-particle-callback ((arg0 part-tracker))
@@ -481,20 +457,12 @@
)
(let
((v1-10
(new 'static 'skeleton-group
:art-group-name "silodoor"
:bounds (new 'static 'vector :w 102400.0)
:version #x6
)
)
)
(set! (-> v1-10 jgeo) 0)
(set! (-> v1-10 janim) 2)
(set! (-> v1-10 mgeo 0) 1)
(set! (-> v1-10 lod-dist 0) 4095996000.0)
(set! *silodoor-sg* v1-10)
(defskelgroup *silodoor-sg* silodoor
0
2
((1 (meters 999999)))
:bounds (static-spherem 0 0 0 25)
:longest-edge (meters 0)
)
(defstate idle (silodoor)
@@ -733,20 +701,12 @@
)
(let
((v1-17
(new 'static 'skeleton-group
:art-group-name "finalbosscam"
:bounds (new 'static 'vector :w 16384.0)
:version #x6
)
)
)
(set! (-> v1-17 jgeo) 0)
(set! (-> v1-17 janim) 2)
(set! (-> v1-17 mgeo 0) 1)
(set! (-> v1-17 lod-dist 0) 4095996000.0)
(set! *finalbosscam-sg* v1-17)
(defskelgroup *finalbosscam-sg* finalbosscam
0
2
((1 (meters 999999)))
:bounds (static-spherem 0 0 0 4)
:longest-edge (meters 0)
)
(defbehavior robotboss-manipy-trans-hook robotboss ()
+18 -47
View File
@@ -5,10 +5,6 @@
;; name in dgo: robotboss-weapon
;; dgos: FIN, L1
(define-extern *darkecobomb-sg* skeleton-group)
(define-extern *greenshot-sg* skeleton-group)
(define-extern *redring-sg* skeleton-group)
;; DECOMP BEGINS
(deftype torus (structure)
@@ -251,21 +247,12 @@
)
(let
((v1-8
(new 'static 'skeleton-group
:art-group-name "darkecobomb"
:bounds
(new 'static 'vector :y 14336.0 :w 24576.0)
:version #x6
)
)
)
(set! (-> v1-8 jgeo) 0)
(set! (-> v1-8 janim) 2)
(set! (-> v1-8 mgeo 0) 1)
(set! (-> v1-8 lod-dist 0) 4095996000.0)
(set! *darkecobomb-sg* v1-8)
(defskelgroup *darkecobomb-sg* darkecobomb
0
2
((1 (meters 999999)))
:bounds (static-spherem 0 3.5 0 6)
:longest-edge (meters 0)
)
(defstate darkecobomb-explode (darkecobomb)
@@ -845,20 +832,12 @@
)
(let
((v1-17
(new 'static 'skeleton-group
:art-group-name "greenshot"
:bounds (new 'static 'vector :w 16384.0)
:version #x6
)
)
)
(set! (-> v1-17 jgeo) 0)
(set! (-> v1-17 janim) 2)
(set! (-> v1-17 mgeo 0) 1)
(set! (-> v1-17 lod-dist 0) 4095996000.0)
(set! *greenshot-sg* v1-17)
(defskelgroup *greenshot-sg* greenshot
0
2
((1 (meters 999999)))
:bounds (static-spherem 0 0 0 4)
:longest-edge (meters 0)
)
(defstate greenshot-idle (greenshot)
@@ -1032,20 +1011,12 @@
(none)
)
(let
((v1-22
(new 'static 'skeleton-group
:art-group-name "redring"
:bounds (new 'static 'vector :w 163840.0)
:version #x6
)
)
)
(set! (-> v1-22 jgeo) 0)
(set! (-> v1-22 janim) 2)
(set! (-> v1-22 mgeo 0) 1)
(set! (-> v1-22 lod-dist 0) 4095996000.0)
(set! *redring-sg* v1-22)
(defskelgroup *redring-sg* redring
0
2
((1 (meters 999999)))
:bounds (static-spherem 0 0 0 40)
:longest-edge (meters 0)
)
(defbehavior redshot-trans redshot ((arg0 int))
+18 -46
View File
@@ -5,10 +5,6 @@
;; name in dgo: robotboss
;; dgos: FIN, L1
(define-extern *robotboss-blueeco-sg* skeleton-group)
(define-extern *robotboss-redeco-sg* skeleton-group)
(define-extern *robotboss-yelloweco-sg* skeleton-group)
(define-extern robotboss-always-trans (function state none :behavior robotboss)) ;; CFG problems TODO
;; DECOMP BEGINS
@@ -17,52 +13,28 @@
(parameter-ease-sin-clamp (-> obj loc-t))
)
(let
((v1-0
(new 'static 'skeleton-group
:art-group-name "robotboss-blueeco"
:bounds (new 'static 'vector :w 819200.0)
:version #x6
)
)
)
(set! (-> v1-0 jgeo) 0)
(set! (-> v1-0 janim) 2)
(set! (-> v1-0 mgeo 0) 1)
(set! (-> v1-0 lod-dist 0) 4095996000.0)
(set! *robotboss-blueeco-sg* v1-0)
(defskelgroup *robotboss-blueeco-sg* robotboss-blueeco
0
2
((1 (meters 999999)))
:bounds (static-spherem 0 0 0 200)
:longest-edge (meters 0)
)
(let
((v1-1
(new 'static 'skeleton-group
:art-group-name "robotboss-redeco"
:bounds (new 'static 'vector :w 819200.0)
:version #x6
)
)
)
(set! (-> v1-1 jgeo) 0)
(set! (-> v1-1 janim) 2)
(set! (-> v1-1 mgeo 0) 1)
(set! (-> v1-1 lod-dist 0) 4095996000.0)
(set! *robotboss-redeco-sg* v1-1)
(defskelgroup *robotboss-redeco-sg* robotboss-redeco
0
2
((1 (meters 999999)))
:bounds (static-spherem 0 0 0 200)
:longest-edge (meters 0)
)
(let
((v1-2
(new 'static 'skeleton-group
:art-group-name "robotboss-yelloweco"
:bounds (new 'static 'vector :w 819200.0)
:version #x6
)
)
)
(set! (-> v1-2 jgeo) 0)
(set! (-> v1-2 janim) 2)
(set! (-> v1-2 mgeo 0) 1)
(set! (-> v1-2 lod-dist 0) 4095996000.0)
(set! *robotboss-yelloweco-sg* v1-2)
(defskelgroup *robotboss-yelloweco-sg* robotboss-yelloweco
0
2
((1 (meters 999999)))
:bounds (static-spherem 0 0 0 200)
:longest-edge (meters 0)
)
(defbehavior robotboss-cut-cam-exit robotboss ()
@@ -5,10 +5,5 @@
;; name in dgo: sage-finalboss
;; dgos: FIN
(define-extern *robotboss-cinematic-sg* skeleton-group)
(define-extern *jak-white-sg* skeleton-group)
(define-extern *plat-eco-finalboss-unlit-sg* skeleton-group)
(define-extern *plat-eco-finalboss-lit-sg* skeleton-group)
;; DECOMP BEGINS
@@ -5,8 +5,6 @@
;; name in dgo: assistant-firecanyon
;; dgos: L1, FIC
(define-extern *assistant-firecanyon-sg* skeleton-group)
;; DECOMP BEGINS
(deftype assistant-firecanyon (process-taskable)
@@ -18,21 +16,13 @@
)
(let
((v1-1
(new 'static 'skeleton-group
:art-group-name "assistant-firecanyon"
:bounds (new 'static 'vector :w 16384.0)
:version #x6
:shadow 2
)
)
)
(set! (-> v1-1 jgeo) 0)
(set! (-> v1-1 janim) 3)
(set! (-> v1-1 mgeo 0) 1)
(set! (-> v1-1 lod-dist 0) 4095996000.0)
(set! *assistant-firecanyon-sg* v1-1)
(defskelgroup *assistant-firecanyon-sg* assistant-firecanyon
0
3
((1 (meters 999999)))
:bounds (static-spherem 0 0 0 4)
:longest-edge (meters 0)
:shadow 2
)
(defmethod
+8 -18
View File
@@ -5,8 +5,6 @@
;; name in dgo: flutflut
;; dgos: L1, SNO, SWA
(define-extern *flutflut-sg* skeleton-group)
;; DECOMP BEGINS
(if (not (nmember "flutp" *kernel-packages*))
@@ -62,22 +60,14 @@
)
)
(let
((v1-5
(new 'static 'skeleton-group
:art-group-name "flut-saddle"
:bounds (new 'static 'vector :w 14336.0)
:version #x6
:shadow 2
:sort 1
)
)
)
(set! (-> v1-5 jgeo) 0)
(set! (-> v1-5 janim) -1)
(set! (-> v1-5 mgeo 0) 1)
(set! (-> v1-5 lod-dist 0) 4095996000.0)
(set! *flutflut-sg* v1-5)
(defskelgroup *flutflut-sg* flut-saddle
0
-1
((1 (meters 999999)))
:bounds (static-spherem 0 0 0 3.5)
:longest-edge (meters 0)
:shadow 2
:sort 1
)
(defbehavior flutflut-effect flutflut ()
+15 -34
View File
@@ -5,9 +5,6 @@
;; name in dgo: evilbro
;; dgos: INT, L1
(define-extern *evilsis-intro-sg* skeleton-group)
(define-extern *evilbro-intro-sg* skeleton-group)
;; DECOMP BEGINS
(deftype evilbro (process-taskable)
@@ -20,21 +17,13 @@
)
(let
((v1-1
(new 'static 'skeleton-group
:art-group-name "evilbro"
:bounds (new 'static 'vector :w 16384.0)
:version #x6
:shadow 2
)
)
)
(set! (-> v1-1 jgeo) 0)
(set! (-> v1-1 janim) 3)
(set! (-> v1-1 mgeo 0) 1)
(set! (-> v1-1 lod-dist 0) 4095996000.0)
(set! *evilbro-intro-sg* v1-1)
(defskelgroup *evilbro-intro-sg* evilbro
0
3
((1 (meters 999999)))
:bounds (static-spherem 0 0 0 4)
:longest-edge (meters 0)
:shadow 2
)
(defmethod play-anim! evilbro ((obj evilbro) (arg0 symbol))
@@ -232,21 +221,13 @@
)
(let
((v1-7
(new 'static 'skeleton-group
:art-group-name "evilsis"
:bounds (new 'static 'vector :w 16384.0)
:version #x6
:shadow 2
)
)
)
(set! (-> v1-7 jgeo) 0)
(set! (-> v1-7 janim) 3)
(set! (-> v1-7 mgeo 0) 1)
(set! (-> v1-7 lod-dist 0) 4095996000.0)
(set! *evilsis-intro-sg* v1-7)
(defskelgroup *evilsis-intro-sg* evilsis
0
3
((1 (meters 999999)))
:bounds (static-spherem 0 0 0 4)
:longest-edge (meters 0)
:shadow 2
)
(defmethod play-anim! evilsis ((obj evilsis) (arg0 symbol))
@@ -255,7 +236,7 @@
0
"ERROR: <GMJ>: ~S playing anim for task status ~S~%"
(-> obj name)
(task-status->string (the-as task-status (current-status (-> obj tasks))))
(task-status->string (current-status (-> obj tasks)))
)
)
(the-as basic (get-art-elem obj))
+6 -15
View File
@@ -5,7 +5,6 @@
;; name in dgo: bouncer
;; dgos: JUN, JUNGLE, L1
(define-extern *bouncer-sg* skeleton-group)
(declare-type springbox process-drawable)
(define-extern bouncer-wait (state springbox)) ;; unknown type
(define-extern bouncer-fire (state springbox)) ;; unknown type
@@ -26,20 +25,12 @@
(method-set! springbox 12 (method-of-type process run-logic?))
(let
((v1-2
(new 'static 'skeleton-group
:art-group-name "bounceytarp"
:bounds (new 'static 'vector :w 16384.0)
:version #x6
)
)
)
(set! (-> v1-2 jgeo) 0)
(set! (-> v1-2 janim) 2)
(set! (-> v1-2 mgeo 0) 1)
(set! (-> v1-2 lod-dist 0) 4095996000.0)
(set! *bouncer-sg* v1-2)
(defskelgroup *bouncer-sg* bounceytarp
0
2
((1 (meters 999999)))
:bounds (static-spherem 0 0 0 4)
:longest-edge (meters 0)
)
(defstate bouncer-wait (springbox)
+31 -83
View File
@@ -5,12 +5,6 @@
;; name in dgo: fisher
;; dgos: JUN
(define-extern *catch-fisha-sg* skeleton-group)
(define-extern *catch-fishb-sg* skeleton-group)
(define-extern *catch-fishc-sg* skeleton-group)
(define-extern *fish-net-sg* skeleton-group)
(define-extern *fisher-sg* skeleton-group)
(declare-type fisher-fish process-drawable)
(define-extern fisher-fish-caught (state fisher-fish))
(define-extern fisher-fish-die (state fisher-fish))
@@ -845,91 +839,45 @@
)
(let
((v1-16
(new 'static 'skeleton-group
:art-group-name "catch-fisha"
:bounds (new 'static 'vector :w 16384.0)
:version #x6
)
)
)
(set! (-> v1-16 jgeo) 0)
(set! (-> v1-16 janim) 2)
(set! (-> v1-16 mgeo 0) 1)
(set! (-> v1-16 lod-dist 0) 4095996000.0)
(set! *catch-fisha-sg* v1-16)
(defskelgroup *catch-fisha-sg* catch-fisha
0
2
((1 (meters 999999)))
:bounds (static-spherem 0 0 0 4)
:longest-edge (meters 0)
)
(let
((v1-17
(new 'static 'skeleton-group
:art-group-name "catch-fishb"
:bounds (new 'static 'vector :w 16384.0)
:version #x6
)
)
)
(set! (-> v1-17 jgeo) 0)
(set! (-> v1-17 janim) 2)
(set! (-> v1-17 mgeo 0) 1)
(set! (-> v1-17 lod-dist 0) 4095996000.0)
(set! *catch-fishb-sg* v1-17)
(defskelgroup *catch-fishb-sg* catch-fishb
0
2
((1 (meters 999999)))
:bounds (static-spherem 0 0 0 4)
:longest-edge (meters 0)
)
(let
((v1-18
(new 'static 'skeleton-group
:art-group-name "catch-fishc"
:bounds (new 'static 'vector :w 16384.0)
:version #x6
)
)
)
(set! (-> v1-18 jgeo) 0)
(set! (-> v1-18 janim) 2)
(set! (-> v1-18 mgeo 0) 1)
(set! (-> v1-18 lod-dist 0) 4095996000.0)
(set! *catch-fishc-sg* v1-18)
(defskelgroup *catch-fishc-sg* catch-fishc
0
2
((1 (meters 999999)))
:bounds (static-spherem 0 0 0 4)
:longest-edge (meters 0)
)
(let
((v1-19
(new 'static 'skeleton-group
:art-group-name "fish-net"
:bounds (new 'static 'vector :w 16384.0)
:version #x6
)
)
)
(set! (-> v1-19 jgeo) 0)
(set! (-> v1-19 janim) 2)
(set! (-> v1-19 mgeo 0) 1)
(set! (-> v1-19 lod-dist 0) 4095996000.0)
(set! *fish-net-sg* v1-19)
(defskelgroup *fish-net-sg* fish-net
0
2
((1 (meters 999999)))
:bounds (static-spherem 0 0 0 4)
:longest-edge (meters 0)
)
(let
((v1-20
(new 'static 'skeleton-group
:art-group-name "fisher"
:bounds
(new 'static 'vector :y -24576.0 :w 57344.0)
:max-lod 2
:version #x6
:shadow 4
)
)
)
(set! (-> v1-20 jgeo) 0)
(set! (-> v1-20 janim) 6)
(set! (-> v1-20 mgeo 0) 1)
(set! (-> v1-20 lod-dist 0) 81920.0)
(set! (-> v1-20 mgeo 1) 2)
(set! (-> v1-20 lod-dist 1) 163840.0)
(set! (-> v1-20 mgeo 2) 3)
(set! (-> v1-20 lod-dist 2) 4095996000.0)
(set! *fisher-sg* v1-20)
(defskelgroup *fisher-sg* fisher
0
6
((1 (meters 20)) (2 (meters 40)) (3 (meters 999999)))
:bounds (static-spherem 0 -6 0 14)
:longest-edge (meters 0)
:shadow 4
)
(defmethod dummy-52 fisher ((obj fisher))
+7 -23
View File
@@ -5,8 +5,6 @@
;; name in dgo: hopper
;; dgos: JUN, JUNGLE, L1
(define-extern *hopper-sg* skeleton-group)
;; DECOMP BEGINS
(deftype hopper (nav-enemy)
@@ -20,27 +18,13 @@
)
(let
((v1-1
(new 'static 'skeleton-group
:art-group-name "hopper"
:bounds (new 'static 'vector :w 12288.0)
:max-lod 2
:longest-edge (meters 1.0)
:version #x6
:shadow 4
)
)
)
(set! (-> v1-1 jgeo) 0)
(set! (-> v1-1 janim) 5)
(set! (-> v1-1 mgeo 0) 1)
(set! (-> v1-1 lod-dist 0) 81920.0)
(set! (-> v1-1 mgeo 1) 2)
(set! (-> v1-1 lod-dist 1) 163840.0)
(set! (-> v1-1 mgeo 2) 3)
(set! (-> v1-1 lod-dist 2) 4095996000.0)
(set! *hopper-sg* v1-1)
(defskelgroup *hopper-sg* hopper
0
5
((1 (meters 20)) (2 (meters 40)) (3 (meters 999999)))
:bounds (static-spherem 0 0 0 3)
:longest-edge (meters 1)
:shadow 4
)
nav-enemy-default-event-handler
+2 -10
View File
@@ -5,8 +5,6 @@
;; name in dgo: jungle-elevator
;; dgos: JUN, JUNGLE, L1
(define-extern *plat-button-sg* skeleton-group)
;; DECOMP BEGINS
(deftype jungle-elevator (plat-button)
@@ -82,10 +80,7 @@
(if
(and
(>= (-> self path-pos) 0.2)
(<
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
60
)
(< (- (-> *display* base-frame-counter) (-> self state-time)) 60)
)
(load-commands-set! *level* (load-command-get-index *level* 'jungle 0))
)
@@ -128,10 +123,7 @@
(if
(and
(< (-> self path-pos) 0.8)
(<
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
60
)
(< (- (-> *display* base-frame-counter) (-> self state-time)) 60)
)
(load-commands-set! *level* (load-command-get-index *level* 'jungle 1))
)
+6 -22
View File
@@ -5,8 +5,6 @@
;; name in dgo: junglefish
;; dgos: JUN, JUNGLE, L1
(define-extern *junglefish-sg* skeleton-group)
;; DECOMP BEGINS
(deftype junglefish (nav-enemy)
@@ -18,26 +16,12 @@
)
(let
((v1-1
(new 'static 'skeleton-group
:art-group-name "junglefish"
:bounds
(new 'static 'vector :y 4096.0 :w 6144.0)
:max-lod 2
:version #x6
)
)
)
(set! (-> v1-1 jgeo) 0)
(set! (-> v1-1 janim) 4)
(set! (-> v1-1 mgeo 0) 1)
(set! (-> v1-1 lod-dist 0) 81920.0)
(set! (-> v1-1 mgeo 1) 2)
(set! (-> v1-1 lod-dist 1) 163840.0)
(set! (-> v1-1 mgeo 2) 3)
(set! (-> v1-1 lod-dist 2) 4095996000.0)
(set! *junglefish-sg* v1-1)
(defskelgroup *junglefish-sg* junglefish
0
4
((1 (meters 20)) (2 (meters 40)) (3 (meters 999999)))
:bounds (static-spherem 0 1 0 1.5)
:longest-edge (meters 0)
)
nav-enemy-default-event-handler
+13 -19
View File
@@ -5,26 +5,14 @@
;; name in dgo: junglesnake
;; dgos: JUN, JUNGLE, L1
(define-extern *junglesnake-sg* skeleton-group)
;; DECOMP BEGINS
(let
((v1-0
(new 'static 'skeleton-group
:art-group-name "junglesnake"
:bounds
(new 'static 'vector :y 57344.0 :w 73728.0)
:longest-edge (meters 2.5)
:version #x6
)
)
)
(set! (-> v1-0 jgeo) 0)
(set! (-> v1-0 janim) 2)
(set! (-> v1-0 mgeo 0) 1)
(set! (-> v1-0 lod-dist 0) 4095996000.0)
(set! *junglesnake-sg* v1-0)
(defskelgroup *junglesnake-sg* junglesnake
0
2
((1 (meters 999999)))
:bounds (static-spherem 0 14 0 18)
:longest-edge (meters 2.5)
)
(set!
@@ -467,7 +455,13 @@ junglesnake-default-event-handler
(set! (-> self draw status) (logand -3 (-> self draw status)))
(set! (-> self track-player-ry) #f)
(set! (-> self track-player-tilt) #f)
(set! (-> self skel postbind-function) (the (function pointer int process-drawable none) junglesnake-joint-callback))
(set!
(-> self skel postbind-function)
(the-as
(function pointer int process-drawable none)
junglesnake-joint-callback
)
)
(set! (-> self refractory-delay) 0)
0
(none)
+7 -18
View File
@@ -5,8 +5,6 @@
;; name in dgo: aphid
;; dgos: JUB, L1
(define-extern *aphid-sg* skeleton-group)
;; DECOMP BEGINS
(deftype aphid (nav-enemy)
@@ -19,22 +17,13 @@
)
(let
((v1-1
(new 'static 'skeleton-group
:art-group-name "aphid-lurker"
:bounds
(new 'static 'vector :y 8192.0 :w 8192.0)
:version #x6
:shadow 2
)
)
)
(set! (-> v1-1 jgeo) 0)
(set! (-> v1-1 janim) -1)
(set! (-> v1-1 mgeo 0) 1)
(set! (-> v1-1 lod-dist 0) 4095996000.0)
(set! *aphid-sg* v1-1)
(defskelgroup *aphid-sg* aphid-lurker
0
-1
((1 (meters 999999)))
:bounds (static-spherem 0 2 0 2)
:longest-edge (meters 0)
:shadow 2
)
(defbehavior aphid-invulnerable aphid ()
+6 -16
View File
@@ -5,8 +5,6 @@
;; name in dgo: plat-flip
;; dgos: JUB, L1
(define-extern *plat-flip-sg* skeleton-group)
;; DECOMP BEGINS
(deftype plat-flip (process-drawable)
@@ -28,20 +26,12 @@
)
(let
((v1-1
(new 'static 'skeleton-group
:art-group-name "plat-flip"
:bounds (new 'static 'vector :w 32768.0)
:version #x6
)
)
)
(set! (-> v1-1 jgeo) 0)
(set! (-> v1-1 janim) 2)
(set! (-> v1-1 mgeo 0) 1)
(set! (-> v1-1 lod-dist 0) 4095996000.0)
(set! *plat-flip-sg* v1-1)
(defskelgroup *plat-flip-sg* plat-flip
0
2
((1 (meters 999999)))
:bounds (static-spherem 0 0 0 8)
:longest-edge (meters 0)
)
(defstate plat-flip-idle (plat-flip)
+7 -17
View File
@@ -5,8 +5,6 @@
;; name in dgo: assistant-lavatube
;; dgos: L1, LAV
(define-extern *assistant-lavatube-start-sg* skeleton-group)
;; DECOMP BEGINS
(deftype assistant-lavatube-start (process-taskable)
@@ -18,21 +16,13 @@
)
(let
((v1-1
(new 'static 'skeleton-group
:art-group-name "assistant-lavatube-start"
:bounds (new 'static 'vector :w 16384.0)
:version #x6
:shadow 2
)
)
)
(set! (-> v1-1 jgeo) 0)
(set! (-> v1-1 janim) 3)
(set! (-> v1-1 mgeo 0) 1)
(set! (-> v1-1 lod-dist 0) 4095996000.0)
(set! *assistant-lavatube-start-sg* v1-1)
(defskelgroup *assistant-lavatube-start-sg* assistant-lavatube-start
0
3
((1 (meters 999999)))
:bounds (static-spherem 0 0 0 4)
:longest-edge (meters 0)
:shadow 2
)
(defmethod
+7 -23
View File
@@ -5,8 +5,6 @@
;; name in dgo: baby-spider
;; dgos: L1, MAI, MAINCAVE
(define-extern *baby-spider-sg* skeleton-group)
(declare-type cave-trap process-drawable)
;; DECOMP BEGINS
@@ -61,27 +59,13 @@
)
(let
((v1-2
(new 'static 'skeleton-group
:art-group-name "baby-spider"
:bounds
(new 'static 'vector :y 4096.0 :w 9216.0)
:max-lod 2
:version #x6
:shadow 4
)
)
)
(set! (-> v1-2 jgeo) 0)
(set! (-> v1-2 janim) -1)
(set! (-> v1-2 mgeo 0) 1)
(set! (-> v1-2 lod-dist 0) 81920.0)
(set! (-> v1-2 mgeo 1) 2)
(set! (-> v1-2 lod-dist 1) 163840.0)
(set! (-> v1-2 mgeo 2) 3)
(set! (-> v1-2 lod-dist 2) 4095996000.0)
(set! *baby-spider-sg* v1-2)
(defskelgroup *baby-spider-sg* baby-spider
0
-1
((1 (meters 20)) (2 (meters 40)) (3 (meters 999999)))
:bounds (static-spherem 0 1 0 2.25)
:longest-edge (meters 0)
:shadow 4
)
(define
+6 -16
View File
@@ -5,8 +5,6 @@
;; name in dgo: spiderwebs
;; dgos: L1, MAI, MAINCAVE
(define-extern *spiderwebs-sg* skeleton-group)
;; DECOMP BEGINS
(define
@@ -54,20 +52,12 @@
)
(let
((v1-2
(new 'static 'skeleton-group
:art-group-name "spiderwebs"
:bounds (new 'static 'vector :w 14336.0)
:version #x6
)
)
)
(set! (-> v1-2 jgeo) 0)
(set! (-> v1-2 janim) -1)
(set! (-> v1-2 mgeo 0) 1)
(set! (-> v1-2 lod-dist 0) 4095996000.0)
(set! *spiderwebs-sg* v1-2)
(defskelgroup *spiderwebs-sg* spiderwebs
0
-1
((1 (meters 999999)))
:bounds (static-spherem 0 0 0 3.5)
:longest-edge (meters 0)
)
(defbehavior
+7 -23
View File
@@ -5,8 +5,6 @@
;; name in dgo: bonelurker
;; dgos: L1, MIS
(define-extern *bonelurker-sg* skeleton-group)
(declare-type bonelurker nav-enemy)
(define-extern bonelurker-stun (state bonelurker))
@@ -22,27 +20,13 @@
)
(let
((v1-1
(new 'static 'skeleton-group
:art-group-name "bonelurker"
:bounds
(new 'static 'vector :y 8192.0 :w 24576.0)
:max-lod 2
:version #x6
:shadow 4
)
)
)
(set! (-> v1-1 jgeo) 0)
(set! (-> v1-1 janim) 5)
(set! (-> v1-1 mgeo 0) 1)
(set! (-> v1-1 lod-dist 0) 81920.0)
(set! (-> v1-1 mgeo 1) 2)
(set! (-> v1-1 lod-dist 1) 163840.0)
(set! (-> v1-1 mgeo 2) 3)
(set! (-> v1-1 lod-dist 2) 4095996000.0)
(set! *bonelurker-sg* v1-1)
(defskelgroup *bonelurker-sg* bonelurker
0
5
((1 (meters 20)) (2 (meters 40)) (3 (meters 999999)))
:bounds (static-spherem 0 2 0 6)
:longest-edge (meters 0)
:shadow 4
)
(defbehavior bonelurker-set-small-bounds-sphere bonelurker ()
+19 -54
View File
@@ -5,10 +5,6 @@
;; name in dgo: misty-conveyor
;; dgos: L1, MIS
(define-extern *keg-conveyor-sg* skeleton-group)
(define-extern *keg-conveyor-paddle-sg* skeleton-group)
(define-extern *keg-sg* skeleton-group)
(declare-type keg-conveyor process-drawable)
(declare-type keg-conveyor-paddle process-drawable)
(declare-type keg process-drawable)
@@ -120,60 +116,29 @@
)
(let
((v1-6
(new 'static 'skeleton-group
:art-group-name "keg-conveyor"
:bounds
(new 'static 'vector :y -24576.0 :w 32768.0)
:version #x6
)
)
)
(set! (-> v1-6 jgeo) 0)
(set! (-> v1-6 janim) 2)
(set! (-> v1-6 mgeo 0) 1)
(set! (-> v1-6 lod-dist 0) 4095996000.0)
(set! *keg-conveyor-sg* v1-6)
(defskelgroup *keg-conveyor-sg* keg-conveyor
0
2
((1 (meters 999999)))
:bounds (static-spherem 0 -6 0 8)
:longest-edge (meters 0)
)
(let
((v1-7
(new 'static 'skeleton-group
:art-group-name "keg-conveyor-paddle"
:bounds
(new 'static 'vector :y -24576.0 :w 32768.0)
:version #x6
)
)
)
(set! (-> v1-7 jgeo) 0)
(set! (-> v1-7 janim) 2)
(set! (-> v1-7 mgeo 0) 1)
(set! (-> v1-7 lod-dist 0) 4095996000.0)
(set! *keg-conveyor-paddle-sg* v1-7)
(defskelgroup *keg-conveyor-paddle-sg* keg-conveyor-paddle
0
2
((1 (meters 999999)))
:bounds (static-spherem 0 -6 0 8)
:longest-edge (meters 0)
)
(let
((v1-8
(new 'static 'skeleton-group
:art-group-name "keg"
:bounds (new 'static 'vector :w 16384.0)
:max-lod 2
:version #x6
:shadow 4
)
)
)
(set! (-> v1-8 jgeo) 0)
(set! (-> v1-8 janim) 5)
(set! (-> v1-8 mgeo 0) 1)
(set! (-> v1-8 lod-dist 0) 81920.0)
(set! (-> v1-8 mgeo 1) 2)
(set! (-> v1-8 lod-dist 1) 163840.0)
(set! (-> v1-8 mgeo 2) 3)
(set! (-> v1-8 lod-dist 2) 4095996000.0)
(set! *keg-sg* v1-8)
(defskelgroup *keg-sg* keg
0
5
((1 (meters 20)) (2 (meters 40)) (3 (meters 999999)))
:bounds (static-spherem 0 0 0 4)
:longest-edge (meters 0)
:shadow 4
)
(defun keg-update-smush ((arg0 keg) (arg1 float))
+6 -20
View File
@@ -9,7 +9,6 @@
(define-extern teetertotter-idle (state teetertotter))
(define-extern teetertotter-launch (state teetertotter))
(define-extern teetertotter-bend (state teetertotter))
(define-extern *teetertotter-sg* skeleton-group)
;; DECOMP BEGINS
@@ -25,25 +24,12 @@
)
(let
((v1-1
(new 'static 'skeleton-group
:art-group-name "teetertotter"
:bounds (new 'static 'vector :w 32768.0)
:max-lod 2
:version #x6
)
)
)
(set! (-> v1-1 jgeo) 0)
(set! (-> v1-1 janim) 4)
(set! (-> v1-1 mgeo 0) 1)
(set! (-> v1-1 lod-dist 0) 81920.0)
(set! (-> v1-1 mgeo 1) 2)
(set! (-> v1-1 lod-dist 1) 163840.0)
(set! (-> v1-1 mgeo 2) 3)
(set! (-> v1-1 lod-dist 2) 4095996000.0)
(set! *teetertotter-sg* v1-1)
(defskelgroup *teetertotter-sg* teetertotter
0
4
((1 (meters 20)) (2 (meters 40)) (3 (meters 999999)))
:bounds (static-spherem 0 0 0 8)
:longest-edge (meters 0)
)
(defun target-on-end-of-teetertotter? ((arg0 teetertotter))
+12 -35
View File
@@ -5,9 +5,6 @@
;; name in dgo: misty-warehouse
;; dgos: L1, MIS
(define-extern *rounddoor-sg* skeleton-group)
(define-extern *silostep-sg* skeleton-group)
(declare-type silostep process-drawable)
(define-extern silostep-rise (state symbol silostep))
(define-extern silostep-idle (state silostep))
@@ -26,21 +23,12 @@
)
(let
((v1-1
(new 'static 'skeleton-group
:art-group-name "silostep"
:bounds
(new 'static 'vector :y 8192.0 :w 32768.0)
:version #x6
)
)
)
(set! (-> v1-1 jgeo) 0)
(set! (-> v1-1 janim) 2)
(set! (-> v1-1 mgeo 0) 1)
(set! (-> v1-1 lod-dist 0) 4095996000.0)
(set! *silostep-sg* v1-1)
(defskelgroup *silostep-sg* silostep
0
2
((1 (meters 999999)))
:bounds (static-spherem 0 2 0 8)
:longest-edge (meters 0)
)
(defstate silostep-idle (silostep)
@@ -271,23 +259,12 @@
(none)
)
(let
((v1-6
(new 'static 'skeleton-group
:art-group-name "rounddoor"
:bounds (new 'static 'vector :w 32768.0)
:max-lod 1
:version #x6
)
)
)
(set! (-> v1-6 jgeo) 0)
(set! (-> v1-6 janim) 3)
(set! (-> v1-6 mgeo 0) 1)
(set! (-> v1-6 lod-dist 0) 81920.0)
(set! (-> v1-6 mgeo 1) 2)
(set! (-> v1-6 lod-dist 1) 4095996000.0)
(set! *rounddoor-sg* v1-6)
(defskelgroup *rounddoor-sg* rounddoor
0
3
((1 (meters 20)) (2 (meters 999999)))
:bounds (static-spherem 0 0 0 8)
:longest-edge (meters 0)
)
(deftype rounddoor (eco-door)
+7 -17
View File
@@ -5,7 +5,6 @@
;; name in dgo: muse
;; dgos: L1, MIS
(define-extern *muse-sg* skeleton-group)
(define-extern muse-idle (state muse)) ;; unknown type
(define-extern muse-caught (state muse)) ;; unknown type
@@ -203,22 +202,13 @@
(none)
)
(let
((v1-5
(new 'static 'skeleton-group
:art-group-name "muse"
:bounds
(new 'static 'vector :y 8192.0 :w 12288.0)
:version #x6
:shadow 2
)
)
)
(set! (-> v1-5 jgeo) 0)
(set! (-> v1-5 janim) 3)
(set! (-> v1-5 mgeo 0) 1)
(set! (-> v1-5 lod-dist 0) 4095996000.0)
(set! *muse-sg* v1-5)
(defskelgroup *muse-sg* muse
0
3
((1 (meters 999999)))
:bounds (static-spherem 0 2 0 3)
:longest-edge (meters 0)
:shadow 2
)
(defmethod dummy-44 muse ((obj muse) (arg0 process) (arg1 event-message-block))
+31 -77
View File
@@ -5,12 +5,6 @@
;; name in dgo: sidekick-human
;; dgos: L1, MIS
(define-extern *darkecocan-sg* skeleton-group)
(define-extern *darkecocan-glow-sg* skeleton-group)
(define-extern *evilbro-sg* skeleton-group)
(define-extern *evilsis-sg* skeleton-group)
(define-extern *sidekick-human-sg* skeleton-group)
;; DECOMP BEGINS
(deftype sequenceA (process-hidden)
@@ -1371,85 +1365,45 @@
)
(let
((v1-46
(new 'static 'skeleton-group
:art-group-name "sidekick-human"
:bounds (new 'static 'vector :w 10240.0)
:version #x6
:shadow 2
)
)
)
(set! (-> v1-46 jgeo) 0)
(set! (-> v1-46 janim) 3)
(set! (-> v1-46 mgeo 0) 1)
(set! (-> v1-46 lod-dist 0) 4095996000.0)
(set! *sidekick-human-sg* v1-46)
(defskelgroup *sidekick-human-sg* sidekick-human
0
3
((1 (meters 999999)))
:bounds (static-spherem 0 0 0 2.5)
:longest-edge (meters 0)
:shadow 2
)
(let
((v1-47
(new 'static 'skeleton-group
:art-group-name "darkecocan"
:bounds (new 'static 'vector :w 4096.0)
:version #x6
)
)
)
(set! (-> v1-47 jgeo) 0)
(set! (-> v1-47 janim) 4)
(set! (-> v1-47 mgeo 0) 1)
(set! (-> v1-47 lod-dist 0) 4095996000.0)
(set! *darkecocan-sg* v1-47)
(defskelgroup *darkecocan-sg* darkecocan
0
4
((1 (meters 999999)))
:bounds (static-spherem 0 0 0 1)
:longest-edge (meters 0)
)
(let
((v1-48
(new 'static 'skeleton-group
:art-group-name "darkecocan"
:bounds (new 'static 'vector :w 4096.0)
:version #x6
)
)
)
(set! (-> v1-48 jgeo) 2)
(set! (-> v1-48 janim) 4)
(set! (-> v1-48 mgeo 0) 3)
(set! (-> v1-48 lod-dist 0) 4095996000.0)
(set! *darkecocan-glow-sg* v1-48)
(defskelgroup *darkecocan-glow-sg* darkecocan
2
4
((3 (meters 999999)))
:bounds (static-spherem 0 0 0 1)
:longest-edge (meters 0)
)
(let
((v1-49
(new 'static 'skeleton-group
:art-group-name "evilbro"
:bounds (new 'static 'vector :w 4096.0)
:version #x6
)
)
)
(set! (-> v1-49 jgeo) 0)
(set! (-> v1-49 janim) 3)
(set! (-> v1-49 mgeo 0) 1)
(set! (-> v1-49 lod-dist 0) 4095996000.0)
(set! *evilbro-sg* v1-49)
(defskelgroup *evilbro-sg* evilbro
0
3
((1 (meters 999999)))
:bounds (static-spherem 0 0 0 1)
:longest-edge (meters 0)
)
(let
((v1-50
(new 'static 'skeleton-group
:art-group-name "evilsis"
:bounds (new 'static 'vector :w 4096.0)
:version #x6
)
)
)
(set! (-> v1-50 jgeo) 0)
(set! (-> v1-50 janim) 3)
(set! (-> v1-50 mgeo 0) 1)
(set! (-> v1-50 lod-dist 0) 4095996000.0)
(set! *evilsis-sg* v1-50)
(defskelgroup *evilsis-sg* evilsis
0
3
((1 (meters 999999)))
:bounds (static-spherem 0 0 0 1)
:longest-edge (meters 0)
)
(deftype army-info (structure)
+19 -60
View File
@@ -5,29 +5,17 @@
;; name in dgo: flying-lurker
;; dgos: L1, OGR
(define-extern *ogrecam-sg* skeleton-group)
(define-extern *plunger-lurker-sg* skeleton-group)
(define-extern *flying-lurker-sg* skeleton-group)
(declare-type flying-lurker process-drawable)
(define-extern flying-lurker-clone (state handle string flying-lurker))
;; DECOMP BEGINS
(let
((v1-0
(new 'static 'skeleton-group
:art-group-name "ogrecam"
:bounds
(new 'static 'vector :y 8192.0 :w 24576.0)
:version #x6
)
)
)
(set! (-> v1-0 jgeo) 0)
(set! (-> v1-0 janim) -1)
(set! (-> v1-0 mgeo 0) 1)
(set! (-> v1-0 lod-dist 0) 4095996000.0)
(set! *ogrecam-sg* v1-0)
(defskelgroup *ogrecam-sg* ogrecam
0
-1
((1 (meters 999999)))
:bounds (static-spherem 0 2 0 6)
:longest-edge (meters 0)
)
(deftype plunger-lurker (process-drawable)
@@ -41,26 +29,12 @@
)
(let
((v1-2
(new 'static 'skeleton-group
:art-group-name "plunger-lurker"
:bounds
(new 'static 'vector :x 8192.0 :y 16384.0 :w 49152.0)
:max-lod 2
:version #x6
)
)
)
(set! (-> v1-2 jgeo) 0)
(set! (-> v1-2 janim) 4)
(set! (-> v1-2 mgeo 0) 1)
(set! (-> v1-2 lod-dist 0) 81920.0)
(set! (-> v1-2 mgeo 1) 2)
(set! (-> v1-2 lod-dist 1) 163840.0)
(set! (-> v1-2 mgeo 2) 3)
(set! (-> v1-2 lod-dist 2) 4095996000.0)
(set! *plunger-lurker-sg* v1-2)
(defskelgroup *plunger-lurker-sg* plunger-lurker
0
4
((1 (meters 20)) (2 (meters 40)) (3 (meters 999999)))
:bounds (static-spherem 2 4 0 12)
:longest-edge (meters 0)
)
(defstate plunger-lurker-plunge (plunger-lurker)
@@ -650,28 +624,13 @@
)
(let
((v1-8
(new 'static 'skeleton-group
:art-group-name "flying-lurker"
:bounds
(new 'static 'vector :y 8192.0 :w 24576.0)
:max-lod 2
:longest-edge (meters 2.3)
:version #x6
:shadow 4
)
)
)
(set! (-> v1-8 jgeo) 0)
(set! (-> v1-8 janim) 5)
(set! (-> v1-8 mgeo 0) 1)
(set! (-> v1-8 lod-dist 0) 81920.0)
(set! (-> v1-8 mgeo 1) 2)
(set! (-> v1-8 lod-dist 1) 163840.0)
(set! (-> v1-8 mgeo 2) 3)
(set! (-> v1-8 lod-dist 2) 4095996000.0)
(set! *flying-lurker-sg* v1-8)
(defskelgroup *flying-lurker-sg* flying-lurker
0
5
((1 (meters 20)) (2 (meters 40)) (3 (meters 999999)))
:bounds (static-spherem 0 2 0 6)
:longest-edge (meters 2.3)
:shadow 4
)
(defmethod dummy-20 flying-lurker ((obj flying-lurker))
+35
View File
@@ -29,3 +29,38 @@
)
)
;; failed to figure out what this is:
(defskelgroup *racer-sg* racer
0
3
((1 (meters 999999)))
:bounds (static-spherem 0 0 0 3.5)
:longest-edge (meters 0)
:shadow 2
:sort 1
)
;; failed to figure out what this is:
(defskelgroup *racer-explode-sg* racer
22
24
((23 (meters 999999)))
:bounds (static-spherem 0 0 0 3.5)
:longest-edge (meters 0)
)
(define
*racer-shadow-control*
(new 'static 'shadow-control
:settings
(new 'static 'shadow-settings
:center
(new 'static 'vector :w (the-as float #xa))
:shadow-dir
(new 'static 'vector :y -1.0 :w 614400.0)
:bot-plane (new 'static 'plane :y 1.0 :w 81920.0)
:top-plane (new 'static 'plane :y 1.0 :w 2048.0)
)
)
)
@@ -5,8 +5,6 @@
;; name in dgo: target-racer-h
;; dgos: FIC, LAV, MIS, OGR, ROL
(define-extern *balloon-sg* skeleton-group)
(define-extern *racer-sg* skeleton-group)
(define-extern target-racing-smack (state float symbol target))
(define-extern target-racing-center-anim (function none :behavior target))
(define-extern racer-buzz (function float none :behavior target))
@@ -18,20 +16,20 @@
(define-extern racer-sounds (function object :behavior target))
(define-extern *racer-air-mods* surface)
;; decomp begins
;; DECOMP BEGINS
(deftype racer-info (basic)
((entity entity-actor :offset-assert 4)
(bike-trans vector :inline :offset-assert 16)
(bike-quat vector :inline :offset-assert 32)
(bike-scale vector :inline :offset-assert 48)
(mod-x float :offset-assert 64)
(rot vector :inline :offset-assert 80)
(rot-old vector :inline :offset-assert 96)
((entity entity-actor :offset-assert 4)
(bike-trans vector :inline :offset-assert 16)
(bike-quat vector :inline :offset-assert 32)
(bike-scale vector :inline :offset-assert 48)
(mod-x float :offset-assert 64)
(rot vector :inline :offset-assert 80)
(rot-old vector :inline :offset-assert 96)
(rotv vector :inline :offset-assert 112)
(lean-rotx degrees :offset-assert 128)
(change-roty degrees :offset-assert 132)
(change-roty-old degrees :offset-assert 136)
(lean-rotx degrees :offset-assert 128)
(change-roty degrees :offset-assert 132)
(change-roty-old degrees :offset-assert 136)
(quat vector :inline :offset-assert 144)
(surface-y meters :offset-assert 160)
(surface-vy meters :offset-assert 164)
@@ -48,7 +46,7 @@
(hill-value float :offset-assert 268)
(hill-ground-value float :offset-assert 272)
(hill-offset meters :offset-assert 276)
(hill-rotx degrees :offset-assert 280)
(hill-rotx degrees :offset-assert 280)
(hill-boost meters :offset-assert 284)
(bob-timer float :offset-assert 288)
(bob-meta-timer float :offset-assert 292)
@@ -58,21 +56,21 @@
(bob-period float :offset-assert 308)
(bob-meta-time uint64 :offset-assert 312)
(bob-hit-ground-time uint64 :offset-assert 320)
(cur-rotx degrees :offset-assert 328)
(targ-rotx degrees :offset-assert 332)
(cur-rotx degrees :offset-assert 328)
(targ-rotx degrees :offset-assert 332)
(speed-rotx float :offset-assert 336)
(mult-rotx degrees :offset-assert 340)
(front-blade joint-mod :offset-assert 344)
(front-rot degrees :offset-assert 348)
(front-rotv degrees :offset-assert 352)
(bottom-blade joint-mod :offset-assert 356)
(bottom-rot degrees :offset-assert 360)
(front joint-mod :offset-assert 364)
(front-turn degrees :offset-assert 368)
(tail joint-mod :offset-assert 372)
(tail-tilt degrees :offset-assert 376)
(mult-rotx degrees :offset-assert 340)
(front-blade joint-mod :offset-assert 344)
(front-rot degrees :offset-assert 348)
(front-rotv degrees :offset-assert 352)
(bottom-blade joint-mod :offset-assert 356)
(bottom-rot degrees :offset-assert 360)
(front joint-mod :offset-assert 364)
(front-turn degrees :offset-assert 368)
(tail joint-mod :offset-assert 372)
(tail-tilt degrees :offset-assert 376)
(transv-max meters :offset-assert 380)
(slide-down-time uint64 2 :offset-assert 384)
(slide-down-time uint64 2 :offset-assert 384)
(slide-enter-time uint64 :offset-assert 400)
(slide-mode int32 :offset-assert 408)
(slide-amp float :offset-assert 412)
@@ -86,7 +84,7 @@
(boost-level float :offset-assert 452)
(boost-target float :offset-assert 456)
(boost-output float :offset-assert 460)
(hop? symbol :offset-assert 464)
(hop? symbol :offset-assert 464)
(hop-start-y float :offset-assert 468)
(bounce int32 :offset-assert 472)
(bounce-hit float :offset-assert 476)
@@ -101,10 +99,10 @@
(rudd-anim-vel float :offset-assert 512)
(rudd-anim-frame float :offset-assert 516)
(racing-time uint64 :offset-assert 520)
(stick-lock symbol :offset-assert 528)
(stick-off symbol :offset-assert 532)
(heavy symbol :offset-assert 536)
(unstuck-time int64 :offset-assert 544)
(stick-lock symbol :offset-assert 528)
(stick-off symbol :offset-assert 532)
(heavy symbol :offset-assert 536)
(unstuck-time int64 :offset-assert 544)
(stuck-count int32 :offset-assert 552)
(scrape-sound-id sound-id :offset-assert 556)
(heat-sound-time uint64 :offset-assert 560)
@@ -115,7 +113,6 @@
)
;; definition of type racer-bank
(deftype racer-bank (basic)
((slide-hold-time seconds :offset-assert 8)
(heat-max float :offset-assert 16)
@@ -141,11 +138,11 @@
:flag-assert #x900000058
)
;; definition for symbol *RACER-bank*, type racer-bank
(define
*RACER-bank*
(new 'static 'racer-bank
:slide-hold-time #x3c
:slide-hold-time (seconds 0.2)
:heat-max 100.0
:hotcoals-heat-inc 3.0
:lava-heat-inc 20.0
@@ -160,28 +157,19 @@
:boost-curve-max (meters 5.0)
:boost-level-max (meters 12.5)
:boost-level-inc (meters 2.0)
:boost-duration #x2ee
:boost-duration (seconds 2.5)
:yellow-projectile-speed (meters 80.0)
)
)
;; failed to figure out what this is:
(let
((v0-4
(new 'static 'skeleton-group
:art-group-name "balloon"
:bounds
(new 'static 'vector :y 6963.2 :w 12288.0)
:max-lod 1
:version #x6
)
)
)
(set! (-> v0-4 jgeo) 0)
(set! (-> v0-4 janim) 3)
(set! (-> v0-4 mgeo 0) 1)
(set! (-> v0-4 lod-dist 0) 81920.0)
(set! (-> v0-4 mgeo 1) 2)
(set! (-> v0-4 lod-dist 1) 4095996000.0)
(set! *balloon-sg* v0-4)
(defskelgroup *balloon-sg* balloon
0
3
((1 (meters 20)) (2 (meters 999999)))
:bounds (static-spherem 0 1.7 0 3)
:longest-edge (meters 0)
)
+6 -18
View File
@@ -5,8 +5,6 @@
;; name in dgo: yeti
;; dgos: L1, SNO
(define-extern *yeti-sg* skeleton-group)
(declare-type yeti process-drawable)
(declare-type yeti-slave nav-enemy)
(define-extern yeti-resuming-start (state yeti)) ;; unknown type
@@ -49,22 +47,12 @@
)
(let
((v1-2
(new 'static 'skeleton-group
:art-group-name "yeti"
:bounds
(new 'static 'vector :y 3072.0 :w 15974.4)
:longest-edge (meters 1.3)
:version #x6
)
)
)
(set! (-> v1-2 jgeo) 0)
(set! (-> v1-2 janim) -1)
(set! (-> v1-2 mgeo 0) 1)
(set! (-> v1-2 lod-dist 0) 4095996000.0)
(set! *yeti-sg* v1-2)
(defskelgroup *yeti-sg* yeti
0
-1
((1 (meters 999999)))
:bounds (static-spherem 0 0.75 0 3.9)
:longest-edge (meters 1.3)
)
(define
+12 -33
View File
@@ -5,9 +5,6 @@
;; name in dgo: qbert-plat
;; dgos: L1, SUN, SUNKEN
(define-extern *qbert-plat-sg* skeleton-group)
(define-extern *qbert-plat-on-sg* skeleton-group)
(declare-type qbert-plat-master process-drawable)
(declare-type qbert-plat rigid-body-platform)
(define-extern qbert-plat-master-wait-for-door (state qbert-plat-master)) ;; unknown type
@@ -28,21 +25,12 @@
)
(let
((v1-1
(new 'static 'skeleton-group
:art-group-name "qbert-plat-on"
:bounds
(new 'static 'vector :y -8192.0 :w 18432.0)
:version #x6
)
)
)
(set! (-> v1-1 jgeo) 0)
(set! (-> v1-1 janim) 2)
(set! (-> v1-1 mgeo 0) 1)
(set! (-> v1-1 lod-dist 0) 4095996000.0)
(set! *qbert-plat-on-sg* v1-1)
(defskelgroup *qbert-plat-on-sg* qbert-plat-on
0
2
((1 (meters 999999)))
:bounds (static-spherem 0 -2 0 4.5)
:longest-edge (meters 0)
)
(deftype qbert-plat (rigid-body-platform)
@@ -59,21 +47,12 @@
)
(let
((v1-3
(new 'static 'skeleton-group
:art-group-name "qbert-plat"
:bounds
(new 'static 'vector :y -8192.0 :w 18432.0)
:version #x6
)
)
)
(set! (-> v1-3 jgeo) 0)
(set! (-> v1-3 janim) 2)
(set! (-> v1-3 mgeo 0) 1)
(set! (-> v1-3 lod-dist 0) 4095996000.0)
(set! *qbert-plat-sg* v1-3)
(defskelgroup *qbert-plat-sg* qbert-plat
0
2
((1 (meters 999999)))
:bounds (static-spherem 0 -2 0 4.5)
:longest-edge (meters 0)
)
(define
+6 -20
View File
@@ -5,8 +5,6 @@
;; name in dgo: square-platform
;; dgos: L1, SUN, SUNKEN
(define-extern *square-platform-sg* skeleton-group)
(declare-type square-platform baseplat)
(define-extern square-platform-lowered (state square-platform)) ;; unknown type
(define-extern square-platform-rising (state square-platform)) ;; unknown type
@@ -40,24 +38,12 @@
)
(let
((v1-1
(new 'static 'skeleton-group
:art-group-name "square-platform"
:bounds
(new 'static 'vector :y -45056.0 :w 32768.0)
:max-lod 1
:version #x6
)
)
)
(set! (-> v1-1 jgeo) 0)
(set! (-> v1-1 janim) 3)
(set! (-> v1-1 mgeo 0) 1)
(set! (-> v1-1 lod-dist 0) 81920.0)
(set! (-> v1-1 mgeo 1) 2)
(set! (-> v1-1 lod-dist 1) 4095996000.0)
(set! *square-platform-sg* v1-1)
(defskelgroup *square-platform-sg* square-platform
0
3
((1 (meters 20)) (2 (meters 999999)))
:bounds (static-spherem 0 -11 0 8)
:longest-edge (meters 0)
)
(deftype square-platform-button (basebutton)
+18 -49
View File
@@ -5,10 +5,6 @@
;; name in dgo: sunken-fish
;; dgos: L1, SUN, SUNKEN
(define-extern *sunkenfisha-red-yellow-sg* skeleton-group)
(define-extern *sunkenfisha-yellow-blue-sg* skeleton-group)
(define-extern *sunkenfisha-yellow-eye-sg* skeleton-group)
;; DECOMP BEGINS
(deftype sunkenfisha (process-drawable)
@@ -44,55 +40,28 @@
)
(let
((v1-1
(new 'static 'skeleton-group
:art-group-name "sunkenfisha"
:bounds
(new 'static 'vector :y 6144.0 :w 10240.0)
:version #x6
)
)
)
(set! (-> v1-1 jgeo) 0)
(set! (-> v1-1 janim) -1)
(set! (-> v1-1 mgeo 0) 1)
(set! (-> v1-1 lod-dist 0) 4095996000.0)
(set! *sunkenfisha-red-yellow-sg* v1-1)
(defskelgroup *sunkenfisha-red-yellow-sg* sunkenfisha
0
-1
((1 (meters 999999)))
:bounds (static-spherem 0 1.5 0 2.5)
:longest-edge (meters 0)
)
(let
((v1-2
(new 'static 'skeleton-group
:art-group-name "sunkenfisha"
:bounds
(new 'static 'vector :y 6144.0 :w 10240.0)
:version #x6
)
)
)
(set! (-> v1-2 jgeo) 2)
(set! (-> v1-2 janim) -1)
(set! (-> v1-2 mgeo 0) 3)
(set! (-> v1-2 lod-dist 0) 4095996000.0)
(set! *sunkenfisha-yellow-blue-sg* v1-2)
(defskelgroup *sunkenfisha-yellow-blue-sg* sunkenfisha
2
-1
((3 (meters 999999)))
:bounds (static-spherem 0 1.5 0 2.5)
:longest-edge (meters 0)
)
(let
((v1-3
(new 'static 'skeleton-group
:art-group-name "sunkenfisha"
:bounds
(new 'static 'vector :y 6144.0 :w 10240.0)
:version #x6
)
)
)
(set! (-> v1-3 jgeo) 4)
(set! (-> v1-3 janim) -1)
(set! (-> v1-3 mgeo 0) 5)
(set! (-> v1-3 lod-dist 0) 4095996000.0)
(set! *sunkenfisha-yellow-eye-sg* v1-3)
(defskelgroup *sunkenfisha-yellow-eye-sg* sunkenfisha
4
-1
((5 (meters 999999)))
:bounds (static-spherem 0 1.5 0 2.5)
:longest-edge (meters 0)
)
(defmethod dummy-22 sunkenfisha ((obj sunkenfisha))
+4 -2
View File
@@ -5,8 +5,6 @@
;; name in dgo: sunken-obs
;; dgos: L1, SUN, SUNKEN
(define-extern *sunkencam-sg* skeleton-group)
;; TODO - for square-platform
(deftype sunkencam (pov-camera)
((seq uint64 :offset-assert 224)
@@ -18,3 +16,7 @@
)
;; decomp begins
(define-extern *seaweed-sg* skeleton-group)
(define-extern *side-to-side-plat-sg* skeleton-group)
(define-extern *sunkencam-sg* skeleton-group)
+6 -17
View File
@@ -5,8 +5,6 @@
;; name in dgo: wall-plat
;; dgos: L1, SUN, SUNKEN
(define-extern *wall-plat-sg* skeleton-group)
(declare-type wall-plat process-drawable)
(define-extern wall-plat-sync-idle (state wall-plat)) ;; unknown type
(define-extern wall-plat-retracted (state wall-plat)) ;; unknown type
@@ -31,21 +29,12 @@
)
(let
((v1-1
(new 'static 'skeleton-group
:art-group-name "wall-plat"
:bounds
(new 'static 'vector :x 4096.0 :y -8192.0 :w 26624.0)
:version #x6
)
)
)
(set! (-> v1-1 jgeo) 0)
(set! (-> v1-1 janim) -1)
(set! (-> v1-1 mgeo 0) 1)
(set! (-> v1-1 lod-dist 0) 4095996000.0)
(set! *wall-plat-sg* v1-1)
(defskelgroup *wall-plat-sg* wall-plat
0
-1
((1 (meters 999999)))
:bounds (static-spherem 1 -2 0 6.5)
:longest-edge (meters 0)
)
(defstate wall-plat-retracted (wall-plat)
+12 -31
View File
@@ -5,8 +5,6 @@
;; name in dgo: wedge-plats
;; dgos: L1, SUN, SUNKEN
(define-extern *wedge-plat-sg* skeleton-group)
(declare-type wedge-plat-outer process)
(declare-type wedge-plat-master process)
(declare-type wedge-plat process)
@@ -15,7 +13,6 @@
(define-extern wedge-plat-idle (state wedge-plat)) ;; unknown type
(define-extern wedge-plat-tip (state wedge-plat)) ;; unknown type
(define-extern wedge-plat-master-idle (state wedge-plat-master)) ;; unknown type
(define-extern *wedge-plat-outer-sg* skeleton-group)
;; DECOMP BEGINS
@@ -110,20 +107,12 @@
)
(let
((v1-3
(new 'static 'skeleton-group
:art-group-name "wedge-plat"
:bounds (new 'static 'vector :w 24576.0)
:version #x6
)
)
)
(set! (-> v1-3 jgeo) 0)
(set! (-> v1-3 janim) 2)
(set! (-> v1-3 mgeo 0) 1)
(set! (-> v1-3 lod-dist 0) 4095996000.0)
(set! *wedge-plat-sg* v1-3)
(defskelgroup *wedge-plat-sg* wedge-plat
0
2
((1 (meters 999999)))
:bounds (static-spherem 0 0 0 6)
:longest-edge (meters 0)
)
(defmethod dummy-27 wedge-plat ((obj wedge-plat))
@@ -380,20 +369,12 @@
)
(let
((v1-7
(new 'static 'skeleton-group
:art-group-name "wedge-plat-outer"
:bounds (new 'static 'vector :w 32768.0)
:version #x6
)
)
)
(set! (-> v1-7 jgeo) 0)
(set! (-> v1-7 janim) 2)
(set! (-> v1-7 mgeo 0) 1)
(set! (-> v1-7 lod-dist 0) 4095996000.0)
(set! *wedge-plat-outer-sg* v1-7)
(defskelgroup *wedge-plat-outer-sg* wedge-plat-outer
0
2
((1 (meters 999999)))
:bounds (static-spherem 0 0 0 8)
:longest-edge (meters 0)
)
(defmethod dummy-27 wedge-plat-outer ((obj wedge-plat-outer))
+6 -21
View File
@@ -5,8 +5,6 @@
;; name in dgo: swamp-bat
;; dgos: L1, SWA
(define-extern *swamp-bat-slave-sg* skeleton-group)
(declare-type swamp-bat-slave process-drawable)
(define-extern swamp-bat-slave-idle (state swamp-bat-slave)) ;; unknown type
(define-extern swamp-bat-slave-return (state swamp-bat-slave)) ;; unknown type
@@ -182,25 +180,12 @@ swamp-bat-slave-event-handler
(swamp-bat-slave-post)
)
(let
((v1-7
(new 'static 'skeleton-group
:art-group-name "swamp-bat"
:bounds (new 'static 'vector :w 10240.0)
:max-lod 2
:version #x6
)
)
)
(set! (-> v1-7 jgeo) 0)
(set! (-> v1-7 janim) 4)
(set! (-> v1-7 mgeo 0) 1)
(set! (-> v1-7 lod-dist 0) 81920.0)
(set! (-> v1-7 mgeo 1) 2)
(set! (-> v1-7 lod-dist 1) 163840.0)
(set! (-> v1-7 mgeo 2) 3)
(set! (-> v1-7 lod-dist 2) 4095996000.0)
(set! *swamp-bat-slave-sg* v1-7)
(defskelgroup *swamp-bat-slave-sg* swamp-bat
0
4
((1 (meters 20)) (2 (meters 40)) (3 (meters 999999)))
:bounds (static-spherem 0 0 0 2.5)
:longest-edge (meters 0)
)
(defbehavior swamp-bat-slave-get-new-path swamp-bat-slave ()
+18 -51
View File
@@ -6,9 +6,6 @@
;; dgos: L1, SWA
(declare-type swamp-rat-nest-dummy process-drawable)
(define-extern *swamp-rat-nest-dummy-c-sg* skeleton-group)
(define-extern *swamp-rat-nest-dummy-b-sg* skeleton-group)
(define-extern *swamp-rat-nest-dummy-a-sg* skeleton-group)
(declare-type swamp-rat-nest process-drawable)
(define-extern swamp-rat-nest-idle (state swamp-rat-nest)) ;; unknown type
@@ -1644,58 +1641,28 @@ swamp-rat-nest-default-event-handler
(none)
)
(let
((v1-51
(new 'static 'skeleton-group
:art-group-name "swamp-rat-nest"
:bounds (new 'static 'vector :w 32768.0)
:max-lod 1
:version #x6
)
)
)
(set! (-> v1-51 jgeo) 0)
(set! (-> v1-51 janim) 3)
(set! (-> v1-51 mgeo 0) 1)
(set! (-> v1-51 lod-dist 0) 81920.0)
(set! (-> v1-51 mgeo 1) 2)
(set! (-> v1-51 lod-dist 1) 4095996000.0)
(set! *swamp-rat-nest-dummy-a-sg* v1-51)
(defskelgroup *swamp-rat-nest-dummy-a-sg* swamp-rat-nest
0
3
((1 (meters 20)) (2 (meters 999999)))
:bounds (static-spherem 0 0 0 8)
:longest-edge (meters 0)
)
(let
((v1-52
(new 'static 'skeleton-group
:art-group-name "swamp-rat-nest"
:bounds (new 'static 'vector :w 32768.0)
:max-lod 1
:version #x6
)
)
)
(set! (-> v1-52 jgeo) 4)
(set! (-> v1-52 janim) 7)
(set! (-> v1-52 mgeo 0) 5)
(set! (-> v1-52 lod-dist 0) 81920.0)
(set! (-> v1-52 mgeo 1) 6)
(set! (-> v1-52 lod-dist 1) 4095996000.0)
(set! *swamp-rat-nest-dummy-b-sg* v1-52)
(defskelgroup *swamp-rat-nest-dummy-b-sg* swamp-rat-nest
4
7
((5 (meters 20)) (6 (meters 999999)))
:bounds (static-spherem 0 0 0 8)
:longest-edge (meters 0)
)
(let
((v1-53
(new 'static 'skeleton-group
:art-group-name "swamp-rat-nest"
:bounds (new 'static 'vector :w 20480.0)
:version #x6
)
)
)
(set! (-> v1-53 jgeo) 8)
(set! (-> v1-53 janim) 11)
(set! (-> v1-53 mgeo 0) 9)
(set! (-> v1-53 lod-dist 0) 4095996000.0)
(set! *swamp-rat-nest-dummy-c-sg* v1-53)
(defskelgroup *swamp-rat-nest-dummy-c-sg* swamp-rat-nest
8
11
((9 (meters 999999)))
:bounds (static-spherem 0 0 0 5)
:longest-edge (meters 0)
)
(defmethod dummy-20 swamp-rat-nest-dummy-a ((obj swamp-rat-nest-dummy-a))
+6 -22
View File
@@ -5,7 +5,6 @@
;; name in dgo: swamp-rat
;; dgos: L1, SWA
(define-extern *swamp-rat-sg* skeleton-group)
(declare-type swamp-rat-nest process-drawable)
;; DECOMP BEGINS
@@ -30,27 +29,12 @@
)
(let
((v1-1
(new 'static 'skeleton-group
:art-group-name "swamp-rat"
:bounds
(new 'static 'vector :y 4096.0 :w 16384.0)
:max-lod 2
:longest-edge (meters 1.0)
:version #x6
)
)
)
(set! (-> v1-1 jgeo) 0)
(set! (-> v1-1 janim) 4)
(set! (-> v1-1 mgeo 0) 1)
(set! (-> v1-1 lod-dist 0) 81920.0)
(set! (-> v1-1 mgeo 1) 2)
(set! (-> v1-1 lod-dist 1) 163840.0)
(set! (-> v1-1 mgeo 2) 3)
(set! (-> v1-1 lod-dist 2) 4095996000.0)
(set! *swamp-rat-sg* v1-1)
(defskelgroup *swamp-rat-sg* swamp-rat
0
4
((1 (meters 20)) (2 (meters 40)) (3 (meters 999999)))
:bounds (static-spherem 0 1 0 4)
:longest-edge (meters 1)
)
(defmethod
+7 -17
View File
@@ -5,8 +5,6 @@
;; name in dgo: assistant
;; dgos: L1, VI1
(define-extern *assistant-sg* skeleton-group)
;; DECOMP BEGINS
(deftype assistant (process-taskable)
@@ -19,21 +17,13 @@
)
(let
((v1-1
(new 'static 'skeleton-group
:art-group-name "assistant"
:bounds (new 'static 'vector :w 8192.0)
:version #x6
:shadow 2
)
)
)
(set! (-> v1-1 jgeo) 0)
(set! (-> v1-1 janim) 3)
(set! (-> v1-1 mgeo 0) 1)
(set! (-> v1-1 lod-dist 0) 4095996000.0)
(set! *assistant-sg* v1-1)
(defskelgroup *assistant-sg* assistant
0
3
((1 (meters 999999)))
:bounds (static-spherem 0 0 0 2)
:longest-edge (meters 0)
:shadow 2
)
(defmethod dummy-52 assistant ((obj assistant))
+7 -17
View File
@@ -5,8 +5,6 @@
;; name in dgo: explorer
;; dgos: L1, VI1
(define-extern *explorer-sg* skeleton-group)
;; DECOMP BEGINS
(deftype explorer (process-taskable)
@@ -18,21 +16,13 @@
)
(let
((v1-1
(new 'static 'skeleton-group
:art-group-name "explorer"
:bounds (new 'static 'vector :w 10240.0)
:version #x6
:shadow 2
)
)
)
(set! (-> v1-1 jgeo) 0)
(set! (-> v1-1 janim) 3)
(set! (-> v1-1 mgeo 0) 1)
(set! (-> v1-1 lod-dist 0) 4095996000.0)
(set! *explorer-sg* v1-1)
(defskelgroup *explorer-sg* explorer
0
3
((1 (meters 999999)))
:bounds (static-spherem 0 0 0 2.5)
:longest-edge (meters 0)
:shadow 2
)
(defmethod dummy-52 explorer ((obj explorer))
+7 -20
View File
@@ -5,8 +5,6 @@
;; name in dgo: farmer
;; dgos: L1, VI1
(define-extern *farmer-sg* skeleton-group)
;; DECOMP BEGINS
(deftype farmer (process-taskable)
@@ -18,24 +16,13 @@
)
(let
((v1-1
(new 'static 'skeleton-group
:art-group-name "farmer"
:bounds (new 'static 'vector :w 16384.0)
:max-lod 1
:version #x6
:shadow 3
)
)
)
(set! (-> v1-1 jgeo) 0)
(set! (-> v1-1 janim) 4)
(set! (-> v1-1 mgeo 0) 1)
(set! (-> v1-1 lod-dist 0) 81920.0)
(set! (-> v1-1 mgeo 1) 2)
(set! (-> v1-1 lod-dist 1) 4095996000.0)
(set! *farmer-sg* v1-1)
(defskelgroup *farmer-sg* farmer
0
4
((1 (meters 20)) (2 (meters 999999)))
:bounds (static-spherem 0 0 0 4)
:longest-edge (meters 0)
:shadow 3
)
(defmethod play-anim! farmer ((obj farmer) (arg0 symbol))
+18 -51
View File
@@ -5,10 +5,6 @@
;; name in dgo: fishermans-boat
;; dgos: L1, VI1
(define-extern *fb-evilbro-sg* skeleton-group)
(define-extern *fb-evilsis-sg* skeleton-group)
(define-extern *fishermans-boat-sg* skeleton-group)
(declare-type fishermans-boat rigid-body-platform)
(define-extern fishermans-boat-player-control (state fishermans-boat)) ;; unknown type
(define-extern fishermans-boat-entering-village (state fishermans-boat)) ;; unknown type
@@ -614,57 +610,28 @@
)
(let
((v1-7
(new 'static 'skeleton-group
:art-group-name "fishermans-boat"
:bounds
(new 'static 'vector :y 12288.0 :w 61440.0)
:max-lod 1
:longest-edge (meters 7.3)
:version #x6
)
)
)
(set! (-> v1-7 jgeo) 0)
(set! (-> v1-7 janim) 3)
(set! (-> v1-7 mgeo 0) 1)
(set! (-> v1-7 lod-dist 0) 81920.0)
(set! (-> v1-7 mgeo 1) 2)
(set! (-> v1-7 lod-dist 1) 4095996000.0)
(set! *fishermans-boat-sg* v1-7)
(defskelgroup *fishermans-boat-sg* fishermans-boat
0
3
((1 (meters 20)) (2 (meters 999999)))
:bounds (static-spherem 0 3 0 15)
:longest-edge (meters 7.3)
)
(let
((v1-8
(new 'static 'skeleton-group
:art-group-name "evilbro"
:bounds (new 'static 'vector :w 4096.0)
:version #x6
)
)
)
(set! (-> v1-8 jgeo) 0)
(set! (-> v1-8 janim) 3)
(set! (-> v1-8 mgeo 0) 1)
(set! (-> v1-8 lod-dist 0) 4095996000.0)
(set! *fb-evilbro-sg* v1-8)
(defskelgroup *fb-evilbro-sg* evilbro
0
3
((1 (meters 999999)))
:bounds (static-spherem 0 0 0 1)
:longest-edge (meters 0)
)
(let
((v1-9
(new 'static 'skeleton-group
:art-group-name "evilsis"
:bounds (new 'static 'vector :w 4096.0)
:version #x6
)
)
)
(set! (-> v1-9 jgeo) 0)
(set! (-> v1-9 janim) 3)
(set! (-> v1-9 mgeo 0) 1)
(set! (-> v1-9 lod-dist 0) 4095996000.0)
(set! *fb-evilsis-sg* v1-9)
(defskelgroup *fb-evilsis-sg* evilsis
0
3
((1 (meters 999999)))
:bounds (static-spherem 0 0 0 1)
:longest-edge (meters 0)
)
(defmethod TODO-RENAME-23 fishermans-boat ((obj fishermans-boat) (arg0 float))
+7 -17
View File
@@ -5,8 +5,6 @@
;; name in dgo: sage
;; dgos: L1, VI1
(define-extern *sage-sg* skeleton-group)
;; DECOMP BEGINS
(deftype sage (process-taskable)
@@ -20,21 +18,13 @@
)
(let
((v1-1
(new 'static 'skeleton-group
:art-group-name "sage"
:bounds (new 'static 'vector :w 10240.0)
:version #x6
:shadow 2
)
)
)
(set! (-> v1-1 jgeo) 0)
(set! (-> v1-1 janim) 4)
(set! (-> v1-1 mgeo 0) 1)
(set! (-> v1-1 lod-dist 0) 4095996000.0)
(set! *sage-sg* v1-1)
(defskelgroup *sage-sg* sage
0
4
((1 (meters 999999)))
:bounds (static-spherem 0 0 0 2.5)
:longest-edge (meters 0)
:shadow 2
)
(defmethod play-anim! sage ((obj sage) (arg0 symbol))
+13 -37
View File
@@ -5,9 +5,6 @@
;; name in dgo: yakow
;; dgos: L1, VI1
(define-extern *yakow-sg* skeleton-group)
(define-extern *village1cam-sg* skeleton-group)
(declare-type yakow process-drawable)
(define-extern yakow-graze (state yakow))
(define-extern yakow-idle (state yakow))
@@ -20,20 +17,12 @@
;; DECOMP BEGINS
(let
((v1-0
(new 'static 'skeleton-group
:art-group-name "village1cam"
:bounds (new 'static 'vector :w 16384.0)
:version #x6
)
)
)
(set! (-> v1-0 jgeo) 0)
(set! (-> v1-0 janim) 2)
(set! (-> v1-0 mgeo 0) 1)
(set! (-> v1-0 lod-dist 0) 4095996000.0)
(set! *village1cam-sg* v1-0)
(defskelgroup *village1cam-sg* village1cam
0
2
((1 (meters 999999)))
:bounds (static-spherem 0 0 0 4)
:longest-edge (meters 0)
)
(defun yakow-cam ()
@@ -161,26 +150,13 @@
)
(let
((v1-5
(new 'static 'skeleton-group
:art-group-name "yakow"
:bounds
(new 'static 'vector :y 10240.0 :w 18022.4)
:max-lod 1
:longest-edge (meters 1.3)
:version #x6
:shadow 3
)
)
)
(set! (-> v1-5 jgeo) 0)
(set! (-> v1-5 janim) 4)
(set! (-> v1-5 mgeo 0) 1)
(set! (-> v1-5 lod-dist 0) 81920.0)
(set! (-> v1-5 mgeo 1) 2)
(set! (-> v1-5 lod-dist 1) 4095996000.0)
(set! *yakow-sg* v1-5)
(defskelgroup *yakow-sg* yakow
0
4
((1 (meters 20)) (2 (meters 999999)))
:bounds (static-spherem 0 2.5 0 4.4)
:longest-edge (meters 1.3)
:shadow 3
)
;; WARN: rewrite_to_get_var got a none typed variable. Is there unreachable code?
+13 -37
View File
@@ -5,9 +5,6 @@
;; name in dgo: assistant-village2
;; dgos: L1, VI2
(define-extern *assistant-village2-sg* skeleton-group)
(define-extern *jaws-sg* skeleton-group)
;; DECOMP BEGINS
(deftype assistant-levitator (process-taskable)
@@ -45,42 +42,21 @@
(none)
)
(let
((v1-1
(new 'static 'skeleton-group
:art-group-name "assistant-village2"
:bounds (new 'static 'vector :w 8192.0)
:max-lod 2
:version #x6
:shadow 4
)
)
)
(set! (-> v1-1 jgeo) 0)
(set! (-> v1-1 janim) 5)
(set! (-> v1-1 mgeo 0) 1)
(set! (-> v1-1 lod-dist 0) 81920.0)
(set! (-> v1-1 mgeo 1) 2)
(set! (-> v1-1 lod-dist 1) 163840.0)
(set! (-> v1-1 mgeo 2) 3)
(set! (-> v1-1 lod-dist 2) 4095996000.0)
(set! *assistant-village2-sg* v1-1)
(defskelgroup *assistant-village2-sg* assistant-village2
0
5
((1 (meters 20)) (2 (meters 40)) (3 (meters 999999)))
:bounds (static-spherem 0 0 0 2)
:longest-edge (meters 0)
:shadow 4
)
(let
((v1-2
(new 'static 'skeleton-group
:art-group-name "jaws"
:bounds (new 'static 'vector :w 1024.0)
:version #x6
)
)
)
(set! (-> v1-2 jgeo) 0)
(set! (-> v1-2 janim) 2)
(set! (-> v1-2 mgeo 0) 1)
(set! (-> v1-2 lod-dist 0) 4095996000.0)
(set! *jaws-sg* v1-2)
(defskelgroup *jaws-sg* jaws
0
2
((1 (meters 999999)))
:bounds (static-spherem 0 0 0 0.25)
:longest-edge (meters 0)
)
(defmethod dummy-52 assistant-levitator ((obj assistant-levitator))
+13 -24
View File
@@ -5,9 +5,8 @@
;; name in dgo: flutflut-bluehut
;; dgos: L1, VI2
(define-extern *flutflut-bluehut-sg* skeleton-group)
;; DECOMP BEGINS
;; definition of type flutflut-bluehut
(deftype flutflut-bluehut (process-taskable)
()
:heap-base #x110
@@ -16,25 +15,15 @@
:flag-assert #x350110017c
)
;; failed to figure out what this is:
(let
((v1-1
(new 'static 'skeleton-group
:art-group-name "flutflut-bluehut"
:bounds (new 'static 'vector :w 13312.0)
:version #x6
)
)
)
(set! (-> v1-1 jgeo) 0)
(set! (-> v1-1 janim) 2)
(set! (-> v1-1 mgeo 0) 1)
(set! (-> v1-1 lod-dist 0) 4095996000.0)
(set! *flutflut-bluehut-sg* v1-1)
(defskelgroup *flutflut-bluehut-sg* flutflut-bluehut
0
2
((1 (meters 999999)))
:bounds (static-spherem 0 0 0 3.25)
:longest-edge (meters 0)
)
;; definition for method 32 of type flutflut-bluehut
;; INFO: Return type mismatch art-element vs basic.
(defmethod play-anim! flutflut-bluehut ((obj flutflut-bluehut) (arg0 symbol))
(current-status (-> obj tasks))
(if arg0
@@ -42,18 +31,16 @@
0
"ERROR: <GMJ>: ~S playing anim for task status ~S~%"
(-> obj name)
(task-status->string (the-as task-status (current-status (-> obj tasks))))
(task-status->string (current-status (-> obj tasks)))
)
)
(the-as basic (get-art-elem obj))
)
;; definition for method 31 of type flutflut-bluehut
(defmethod get-art-elem flutflut-bluehut ((obj flutflut-bluehut))
(-> obj draw art-group data 2)
)
;; definition for method 39 of type flutflut-bluehut
(defmethod should-display? flutflut-bluehut ((obj flutflut-bluehut))
(and
(closed?
@@ -65,7 +52,6 @@
)
)
;; failed to figure out what this is:
(defstate idle (flutflut-bluehut)
:virtual #t
:trans
@@ -334,7 +320,6 @@
)
)
;; definition for method 11 of type flutflut-bluehut
(defmethod
copy-defaults!
flutflut-bluehut
@@ -353,3 +338,7 @@
(dummy-42 obj)
(none)
)
+7 -22
View File
@@ -5,8 +5,6 @@
;; name in dgo: gambler
;; dgos: L1, VI2
(define-extern *gambler-sg* skeleton-group)
;; DECOMP BEGINS
(deftype gambler (process-taskable)
@@ -18,26 +16,13 @@
)
(let
((v1-1
(new 'static 'skeleton-group
:art-group-name "gambler"
:bounds (new 'static 'vector :w 16384.0)
:max-lod 2
:version #x6
:shadow 4
)
)
)
(set! (-> v1-1 jgeo) 0)
(set! (-> v1-1 janim) 5)
(set! (-> v1-1 mgeo 0) 1)
(set! (-> v1-1 lod-dist 0) 81920.0)
(set! (-> v1-1 mgeo 1) 2)
(set! (-> v1-1 lod-dist 1) 163840.0)
(set! (-> v1-1 mgeo 2) 3)
(set! (-> v1-1 lod-dist 2) 4095996000.0)
(set! *gambler-sg* v1-1)
(defskelgroup *gambler-sg* gambler
0
5
((1 (meters 20)) (2 (meters 40)) (3 (meters 999999)))
:bounds (static-spherem 0 0 0 4)
:longest-edge (meters 0)
:shadow 4
)
(defmethod play-anim! gambler ((obj gambler) (arg0 symbol))
+7 -22
View File
@@ -5,8 +5,6 @@
;; name in dgo: geologist
;; dgos: L1, VI2
(define-extern *geologist-sg* skeleton-group)
;; DECOMP BEGINS
(deftype geologist (process-taskable)
@@ -18,26 +16,13 @@
)
(let
((v1-1
(new 'static 'skeleton-group
:art-group-name "geologist"
:bounds (new 'static 'vector :w 16384.0)
:max-lod 2
:version #x6
:shadow 4
)
)
)
(set! (-> v1-1 jgeo) 0)
(set! (-> v1-1 janim) 5)
(set! (-> v1-1 mgeo 0) 1)
(set! (-> v1-1 lod-dist 0) 81920.0)
(set! (-> v1-1 mgeo 1) 2)
(set! (-> v1-1 lod-dist 1) 163840.0)
(set! (-> v1-1 mgeo 2) 3)
(set! (-> v1-1 lod-dist 2) 4095996000.0)
(set! *geologist-sg* v1-1)
(defskelgroup *geologist-sg* geologist
0
5
((1 (meters 20)) (2 (meters 40)) (3 (meters 999999)))
:bounds (static-spherem 0 0 0 4)
:longest-edge (meters 0)
:shadow 4
)
(defmethod play-anim! geologist ((obj geologist) (arg0 symbol))
+7 -17
View File
@@ -5,8 +5,6 @@
;; name in dgo: sage-bluehut
;; dgos: L1, VI2
(define-extern *sage-bluehut-sg* skeleton-group)
;; DECOMP BEGINS
(deftype assistant-bluehut (process-taskable)
@@ -33,21 +31,13 @@
)
(let
((v1-2
(new 'static 'skeleton-group
:art-group-name "sage-bluehut"
:bounds (new 'static 'vector :w 10240.0)
:version #x6
:shadow 2
)
)
)
(set! (-> v1-2 jgeo) 0)
(set! (-> v1-2 janim) 3)
(set! (-> v1-2 mgeo 0) 1)
(set! (-> v1-2 lod-dist 0) 4095996000.0)
(set! *sage-bluehut-sg* v1-2)
(defskelgroup *sage-bluehut-sg* sage-bluehut
0
3
((1 (meters 999999)))
:bounds (static-spherem 0 0 0 2.5)
:longest-edge (meters 0)
:shadow 2
)
(defmethod play-anim! sage-bluehut ((obj sage-bluehut) (arg0 symbol))
+6 -17
View File
@@ -5,8 +5,6 @@
;; name in dgo: sunken-elevator
;; dgos: L1, VI2
(define-extern *sunken-elevator-sg* skeleton-group)
;; DECOMP BEGINS
(deftype sunken-elevator (plat-button)
@@ -21,21 +19,12 @@
)
(let
((v1-1
(new 'static 'skeleton-group
:art-group-name "sunken-elevator"
:bounds
(new 'static 'vector :y -4096.0 :w 27033.6)
:version #x6
)
)
)
(set! (-> v1-1 jgeo) 0)
(set! (-> v1-1 janim) 2)
(set! (-> v1-1 mgeo 0) 1)
(set! (-> v1-1 lod-dist 0) 4095996000.0)
(set! *sunken-elevator-sg* v1-1)
(defskelgroup *sunken-elevator-sg* sunken-elevator
0
2
((1 (meters 999999)))
:bounds (static-spherem 0 -1 0 6.6)
:longest-edge (meters 0)
)
(defmethod should-teleport? sunken-elevator ((obj sunken-elevator))
+19 -2
View File
@@ -14,7 +14,6 @@
:size-assert #xe8
:flag-assert #x1e008000e8
)
(define-extern *village2cam-sg* skeleton-group)
;; TODO - for warrior
(deftype allpontoons (process-drawable)
@@ -37,4 +36,22 @@
:flag-assert #x14005000b9
)
;; decomp begins
;; DECOMP BEGINS
;; ERROR: top level function was not converted to expressions. Cannot decompile.
(define-extern *ogreboss-village2-sg* skeleton-group)
(define-extern *fireboulder-sg* skeleton-group)
(define-extern *exit-chamber-dummy-sg* skeleton-group)
(define-extern *ceilingflag-sg* skeleton-group)
(define-extern *allpontoons-sg* skeleton-group)
(define-extern *pontoonten-sg* skeleton-group)
(define-extern *pontoonfive-sg* skeleton-group)
(define-extern *village2cam-sg* skeleton-group)
(define-extern *med-res-rolling-sg* skeleton-group)
(define-extern *med-res-rolling1-sg* skeleton-group)
(define-extern *med-res-village2-sg* skeleton-group)
+7 -22
View File
@@ -5,8 +5,6 @@
;; name in dgo: warrior
;; dgos: L1, VI2
(define-extern *warrior-sg* skeleton-group)
;; DECOMP BEGINS
(deftype warrior (process-taskable)
@@ -18,26 +16,13 @@
)
(let
((v1-1
(new 'static 'skeleton-group
:art-group-name "warrior"
:bounds (new 'static 'vector :w 16384.0)
:max-lod 2
:version #x6
:shadow 4
)
)
)
(set! (-> v1-1 jgeo) 0)
(set! (-> v1-1 janim) 5)
(set! (-> v1-1 mgeo 0) 1)
(set! (-> v1-1 lod-dist 0) 81920.0)
(set! (-> v1-1 mgeo 1) 2)
(set! (-> v1-1 lod-dist 1) 163840.0)
(set! (-> v1-1 mgeo 2) 3)
(set! (-> v1-1 lod-dist 2) 4095996000.0)
(set! *warrior-sg* v1-1)
(defskelgroup *warrior-sg* warrior
0
5
((1 (meters 20)) (2 (meters 40)) (3 (meters 999999)))
:bounds (static-spherem 0 0 0 4)
:longest-edge (meters 0)
:shadow 4
)
(defmethod dummy-52 warrior ((obj warrior))
+7 -17
View File
@@ -5,8 +5,6 @@
;; name in dgo: assistant-village3
;; dgos: L1, VI3
(define-extern *assistant-village3-sg* skeleton-group)
;; DECOMP BEGINS
(deftype assistant-villagec (process-taskable)
@@ -18,21 +16,13 @@
)
(let
((v1-1
(new 'static 'skeleton-group
:art-group-name "assistant-village3"
:bounds (new 'static 'vector :w 16384.0)
:version #x6
:shadow 2
)
)
)
(set! (-> v1-1 jgeo) 0)
(set! (-> v1-1 janim) 3)
(set! (-> v1-1 mgeo 0) 1)
(set! (-> v1-1 lod-dist 0) 4095996000.0)
(set! *assistant-village3-sg* v1-1)
(defskelgroup *assistant-village3-sg* assistant-village3
0
3
((1 (meters 999999)))
:bounds (static-spherem 0 0 0 4)
:longest-edge (meters 0)
:shadow 2
)
(defmethod dummy-52 assistant-villagec ((obj assistant-villagec))
+20 -47
View File
@@ -6,9 +6,6 @@
;; dgos: L1, VI3
(declare-type minershort process-taskable)
(define-extern *cavegem-sg* skeleton-group)
(define-extern *minershort-sg* skeleton-group)
(define-extern *minertall-sg* skeleton-group)
;; DECOMP BEGINS
@@ -50,21 +47,13 @@
)
(let
((v1-2
(new 'static 'skeleton-group
:art-group-name "minertall"
:bounds (new 'static 'vector :w 10240.0)
:version #x6
:shadow 2
)
)
)
(set! (-> v1-2 jgeo) 0)
(set! (-> v1-2 janim) 3)
(set! (-> v1-2 mgeo 0) 1)
(set! (-> v1-2 lod-dist 0) 4095996000.0)
(set! *minertall-sg* v1-2)
(defskelgroup *minertall-sg* minertall
0
3
((1 (meters 999999)))
:bounds (static-spherem 0 0 0 2.5)
:longest-edge (meters 0)
:shadow 2
)
(defmethod dummy-52 minertall ((obj minertall))
@@ -158,21 +147,13 @@
)
(let
((v1-7
(new 'static 'skeleton-group
:art-group-name "minershort"
:bounds (new 'static 'vector :w 10240.0)
:version #x6
:shadow 2
)
)
)
(set! (-> v1-7 jgeo) 0)
(set! (-> v1-7 janim) 3)
(set! (-> v1-7 mgeo 0) 1)
(set! (-> v1-7 lod-dist 0) 4095996000.0)
(set! *minershort-sg* v1-7)
(defskelgroup *minershort-sg* minershort
0
3
((1 (meters 999999)))
:bounds (static-spherem 0 0 0 2.5)
:longest-edge (meters 0)
:shadow 2
)
(set!
@@ -881,20 +862,12 @@
)
(let
((v1-18
(new 'static 'skeleton-group
:art-group-name "cavegem"
:bounds (new 'static 'vector :w 36864.0)
:version #x6
)
)
)
(set! (-> v1-18 jgeo) 0)
(set! (-> v1-18 janim) 2)
(set! (-> v1-18 mgeo 0) 1)
(set! (-> v1-18 lod-dist 0) 4095996000.0)
(set! *cavegem-sg* v1-18)
(defskelgroup *cavegem-sg* cavegem
0
2
((1 (meters 999999)))
:bounds (static-spherem 0 0 0 9)
:longest-edge (meters 0)
)
(defstate idle (cavegem)
+21 -49
View File
@@ -5,10 +5,6 @@
;; name in dgo: sage-village3
;; dgos: L1, VI3
(define-extern *sage-village3-sg* skeleton-group)
(define-extern *evilbro-village3-sg* skeleton-group)
(define-extern *evilsis-village3-sg* skeleton-group)
;; DECOMP BEGINS
(deftype sage-villagec (process-taskable)
@@ -23,55 +19,31 @@
)
(let
((v1-1
(new 'static 'skeleton-group
:art-group-name "sage-village3"
:bounds (new 'static 'vector :w 16384.0)
:version #x6
:shadow 2
)
)
)
(set! (-> v1-1 jgeo) 0)
(set! (-> v1-1 janim) 3)
(set! (-> v1-1 mgeo 0) 1)
(set! (-> v1-1 lod-dist 0) 4095996000.0)
(set! *sage-village3-sg* v1-1)
(defskelgroup *sage-village3-sg* sage-village3
0
3
((1 (meters 999999)))
:bounds (static-spherem 0 0 0 4)
:longest-edge (meters 0)
:shadow 2
)
(let
((v1-2
(new 'static 'skeleton-group
:art-group-name "evilbro-village3"
:bounds (new 'static 'vector :w 16384.0)
:version #x6
:shadow 2
)
)
)
(set! (-> v1-2 jgeo) 0)
(set! (-> v1-2 janim) 3)
(set! (-> v1-2 mgeo 0) 1)
(set! (-> v1-2 lod-dist 0) 4095996000.0)
(set! *evilbro-village3-sg* v1-2)
(defskelgroup *evilbro-village3-sg* evilbro-village3
0
3
((1 (meters 999999)))
:bounds (static-spherem 0 0 0 4)
:longest-edge (meters 0)
:shadow 2
)
(let
((v1-3
(new 'static 'skeleton-group
:art-group-name "evilsis-village3"
:bounds (new 'static 'vector :w 16384.0)
:version #x6
:shadow 2
)
)
)
(set! (-> v1-3 jgeo) 0)
(set! (-> v1-3 janim) 3)
(set! (-> v1-3 mgeo 0) 1)
(set! (-> v1-3 lod-dist 0) 4095996000.0)
(set! *evilsis-village3-sg* v1-3)
(defskelgroup *evilsis-village3-sg* evilsis-village3
0
3
((1 (meters 999999)))
:bounds (static-spherem 0 0 0 4)
:longest-edge (meters 0)
:shadow 2
)
(defmethod play-anim! sage-villagec ((obj sage-villagec) (arg0 symbol))
+6 -16
View File
@@ -5,8 +5,6 @@
;; name in dgo: oracle
;; dgos: CIT, L1, VI1, VI2, VI3, VILLAGEP
(define-extern *oracle-sg* skeleton-group)
;; DECOMP BEGINS
(deftype oracle (process-taskable)
@@ -22,20 +20,12 @@
)
(let
((v1-1
(new 'static 'skeleton-group
:art-group-name "oracle"
:bounds (new 'static 'vector :w 16384.0)
:version #x6
)
)
)
(set! (-> v1-1 jgeo) 0)
(set! (-> v1-1 janim) 2)
(set! (-> v1-1 mgeo 0) 1)
(set! (-> v1-1 lod-dist 0) 4095996000.0)
(set! *oracle-sg* v1-1)
(defskelgroup *oracle-sg* oracle
0
2
((1 (meters 999999)))
:bounds (static-spherem 0 0 0 4)
:longest-edge (meters 0)
)
(defmethod play-anim! oracle ((obj oracle) (arg0 symbol))
+46 -1
View File
@@ -777,4 +777,49 @@
(send-event-function ,proc event-data)
)
)
)
)
;; vector-h
(defmacro static-spherem (x y z r)
"actually makes a vector"
`(new 'static 'vector :x (meters ,x) :y (meters ,y) :z (meters ,z) :w (meters ,r))
)
;; art-h
(defmacro defskelgroup (name art-name joint-geom joint-anim lods
&key (shadow 0)
&key bounds
&key longest-edge
&key (texture-level 0)
&key (sort 0)
&key (version 6) ;; do NOT use this!
)
"define a new static skeleton group"
`(let ((skel (new 'static 'skeleton-group
:art-group-name ,(symbol->string art-name)
:bounds ,bounds
:longest-edge ,longest-edge
:version ,version
:max-lod ,(- (length lods) 1)
:shadow ,shadow
:texture-level ,texture-level
:sort ,sort
)))
;; set joint geometry and joint bones
(set! (-> skel jgeo) ,joint-geom)
(set! (-> skel janim) ,joint-anim)
;; set lods
,@(apply-i (lambda (x i)
`(begin
(set! (-> skel mgeo ,i) ,(car x))
(set! (-> skel lod-dist ,i) ,(cadr x))
)
) lods)
;; define skel group
(define ,name skel)
)
)
+9 -19
View File
@@ -2,25 +2,15 @@
(in-package goal)
;; failed to figure out what this is:
(let
((v1-0
(new 'static 'skeleton-group
:art-group-name "eichar"
:bounds
(new 'static 'vector :y 8192.0 :w 12288.0)
:longest-edge (meters 1.0)
:texture-level 2
:version #x6
:shadow 2
:sort 1
)
)
)
(set! (-> v1-0 jgeo) 0)
(set! (-> v1-0 janim) -1)
(set! (-> v1-0 mgeo 0) 1)
(set! (-> v1-0 lod-dist 0) 4095996000.0)
(set! *jchar-sg* v1-0)
(defskelgroup *jchar-sg* eichar
0
-1
((1 (meters 999999)))
:bounds (static-spherem 0 2 0 3)
:longest-edge (meters 1)
:shadow 2
:texture-level 2
:sort 1
)
;; definition for symbol *target-shadow-control*, type shadow-control
+7 -16
View File
@@ -1248,22 +1248,13 @@
)
;; failed to figure out what this is:
(let
((v1-24
(new 'static 'skeleton-group
:art-group-name "fuelcell-naked"
:bounds
(new 'static 'vector :y 4096.0 :w 6553.6)
:texture-level 2
:version #x6
)
)
)
(set! (-> v1-24 jgeo) 0)
(set! (-> v1-24 janim) 2)
(set! (-> v1-24 mgeo 0) 1)
(set! (-> v1-24 lod-dist 0) 4095996000.0)
(set! *fuelcell-naked-sg* v1-24)
(defskelgroup *fuelcell-naked-sg* fuelcell-naked
0
2
((1 (meters 999999)))
:bounds (static-spherem 0 1 0 1.6)
:longest-edge (meters 0)
:texture-level 2
)
;; failed to figure out what this is:
+6 -15
View File
@@ -2,21 +2,12 @@
(in-package goal)
;; failed to figure out what this is:
(let
((v1-0
(new 'static 'skeleton-group
:art-group-name "lrocklrg"
:bounds (new 'static 'vector :w 20480.0)
:longest-edge (meters 11.0)
:version #x6
)
)
)
(set! (-> v1-0 jgeo) 0)
(set! (-> v1-0 janim) 2)
(set! (-> v1-0 mgeo 0) 1)
(set! (-> v1-0 lod-dist 0) 4095996000.0)
(set! *lrocklrg-sg* v1-0)
(defskelgroup *lrocklrg-sg* lrocklrg
0
2
((1 (meters 999999)))
:bounds (static-spherem 0 0 0 5)
:longest-edge (meters 11)
)
;; failed to figure out what this is:
@@ -23,21 +23,13 @@
)
;; failed to figure out what this is:
(let
((v1-1
(new 'static 'skeleton-group
:art-group-name "bird-lady-beach"
:bounds (new 'static 'vector :w 16384.0)
:version #x6
:shadow 2
)
)
)
(set! (-> v1-1 jgeo) 0)
(set! (-> v1-1 janim) 3)
(set! (-> v1-1 mgeo 0) 1)
(set! (-> v1-1 lod-dist 0) 4095996000.0)
(set! *bird-lady-beach-sg* v1-1)
(defskelgroup *bird-lady-beach-sg* bird-lady-beach
0
3
((1 (meters 999999)))
:bounds (static-spherem 0 0 0 4)
:longest-edge (meters 0)
:shadow 2
)
;; failed to figure out what this is:
+7 -16
View File
@@ -19,22 +19,13 @@
)
;; failed to figure out what this is:
(let
((v1-1
(new 'static 'skeleton-group
:art-group-name "bird-lady"
:bounds
(new 'static 'vector :y 4096.0 :w 10240.0)
:version #x6
:shadow 2
)
)
)
(set! (-> v1-1 jgeo) 0)
(set! (-> v1-1 janim) 3)
(set! (-> v1-1 mgeo 0) 1)
(set! (-> v1-1 lod-dist 0) 4095996000.0)
(set! *bird-lady-sg* v1-1)
(defskelgroup *bird-lady-sg* bird-lady
0
3
((1 (meters 999999)))
:bounds (static-spherem 0 1 0 2.5)
:longest-edge (meters 0)
:shadow 2
)
;; definition for method 52 of type bird-lady
+6 -19
View File
@@ -96,25 +96,12 @@
)
;; failed to figure out what this is:
(let
((v1-4
(new 'static 'skeleton-group
:art-group-name "lurkercrab"
:bounds (new 'static 'vector :w 10240.0)
:max-lod 2
:version #x6
)
)
)
(set! (-> v1-4 jgeo) 0)
(set! (-> v1-4 janim) 4)
(set! (-> v1-4 mgeo 0) 1)
(set! (-> v1-4 lod-dist 0) 81920.0)
(set! (-> v1-4 mgeo 1) 2)
(set! (-> v1-4 lod-dist 1) 163840.0)
(set! (-> v1-4 mgeo 2) 3)
(set! (-> v1-4 lod-dist 2) 4095996000.0)
(set! *lurkercrab-sg* v1-4)
(defskelgroup *lurkercrab-sg* lurkercrab
0
4
((1 (meters 20)) (2 (meters 40)) (3 (meters 999999)))
:bounds (static-spherem 0 0 0 2.5)
:longest-edge (meters 0)
)
;; definition for method 44 of type lurkercrab
+7 -20
View File
@@ -19,26 +19,13 @@
)
;; failed to figure out what this is:
(let
((v1-1
(new 'static 'skeleton-group
:art-group-name "lurkerpuppy"
:bounds (new 'static 'vector :w 8192.0)
:max-lod 2
:version #x6
:shadow 4
)
)
)
(set! (-> v1-1 jgeo) 0)
(set! (-> v1-1 janim) 5)
(set! (-> v1-1 mgeo 0) 1)
(set! (-> v1-1 lod-dist 0) 81920.0)
(set! (-> v1-1 mgeo 1) 2)
(set! (-> v1-1 lod-dist 1) 163840.0)
(set! (-> v1-1 mgeo 2) 3)
(set! (-> v1-1 lod-dist 2) 4095996000.0)
(set! *lurkerpuppy-sg* v1-1)
(defskelgroup *lurkerpuppy-sg* lurkerpuppy
0
5
((1 (meters 20)) (2 (meters 40)) (3 (meters 999999)))
:bounds (static-spherem 0 0 0 2)
:longest-edge (meters 0)
:shadow 4
)
;; failed to figure out what this is:
+7 -15
View File
@@ -19,21 +19,13 @@
)
;; failed to figure out what this is:
(let
((v1-1
(new 'static 'skeleton-group
:art-group-name "mayor"
:bounds (new 'static 'vector :w 10240.0)
:version #x6
:shadow 2
)
)
)
(set! (-> v1-1 jgeo) 0)
(set! (-> v1-1 janim) 3)
(set! (-> v1-1 mgeo 0) 1)
(set! (-> v1-1 lod-dist 0) 4095996000.0)
(set! *mayor-sg* v1-1)
(defskelgroup *mayor-sg* mayor
0
3
((1 (meters 999999)))
:bounds (static-spherem 0 0 0 2.5)
:longest-edge (meters 0)
:shadow 2
)
;; definition for method 52 of type mayor
+13 -29
View File
@@ -21,38 +21,22 @@
)
;; failed to figure out what this is:
(let
((v1-1
(new 'static 'skeleton-group
:art-group-name "sculptor-muse"
:bounds (new 'static 'vector :w 10240.0)
:version #x6
)
)
)
(set! (-> v1-1 jgeo) 0)
(set! (-> v1-1 janim) 2)
(set! (-> v1-1 mgeo 0) 1)
(set! (-> v1-1 lod-dist 0) 4095996000.0)
(set! *sculptor-muse-sg* v1-1)
(defskelgroup *sculptor-muse-sg* sculptor-muse
0
2
((1 (meters 999999)))
:bounds (static-spherem 0 0 0 2.5)
:longest-edge (meters 0)
)
;; failed to figure out what this is:
(let
((v1-2
(new 'static 'skeleton-group
:art-group-name "sculptor"
:bounds (new 'static 'vector :w 10240.0)
:version #x6
:shadow 2
)
)
)
(set! (-> v1-2 jgeo) 0)
(set! (-> v1-2 janim) 4)
(set! (-> v1-2 mgeo 0) 1)
(set! (-> v1-2 lod-dist 0) 4095996000.0)
(set! *sculptor-sg* v1-2)
(defskelgroup *sculptor-sg* sculptor
0
4
((1 (meters 999999)))
:bounds (static-spherem 0 0 0 2.5)
:longest-edge (meters 0)
:shadow 2
)
;; definition for method 52 of type sculptor
@@ -19,21 +19,13 @@
)
;; failed to figure out what this is:
(let
((v1-1
(new 'static 'skeleton-group
:art-group-name "assistant-lavatube-end"
:bounds (new 'static 'vector :w 16384.0)
:version #x6
:shadow 2
)
)
)
(set! (-> v1-1 jgeo) 0)
(set! (-> v1-1 janim) 3)
(set! (-> v1-1 mgeo 0) 1)
(set! (-> v1-1 lod-dist 0) 4095996000.0)
(set! *assistant-lavatube-end-sg* v1-1)
(defskelgroup *assistant-lavatube-end-sg* assistant-lavatube-end
0
3
((1 (meters 999999)))
:bounds (static-spherem 0 0 0 4)
:longest-edge (meters 0)
:shadow 2
)
;; definition for method 32 of type assistant-lavatube-end
@@ -2,103 +2,48 @@
(in-package goal)
;; failed to figure out what this is:
(let
((v1-0
(new 'static 'skeleton-group
:art-group-name "citb-drop-plat"
:bounds (new 'static 'vector :w 12288.0)
:max-lod 1
:version #x6
)
)
)
(set! (-> v1-0 jgeo) 0)
(set! (-> v1-0 janim) 3)
(set! (-> v1-0 mgeo 0) 1)
(set! (-> v1-0 lod-dist 0) 81920.0)
(set! (-> v1-0 mgeo 1) 2)
(set! (-> v1-0 lod-dist 1) 4095996000.0)
(set! *citb-drop-plat-sg* v1-0)
(defskelgroup *citb-drop-plat-sg* citb-drop-plat
0
3
((1 (meters 20)) (2 (meters 999999)))
:bounds (static-spherem 0 0 0 3)
:longest-edge (meters 0)
)
;; failed to figure out what this is:
(let
((v1-1
(new 'static 'skeleton-group
:art-group-name "citb-drop-plat"
:bounds (new 'static 'vector :w 12288.0)
:max-lod 1
:version #x6
)
)
)
(set! (-> v1-1 jgeo) 4)
(set! (-> v1-1 janim) 7)
(set! (-> v1-1 mgeo 0) 5)
(set! (-> v1-1 lod-dist 0) 81920.0)
(set! (-> v1-1 mgeo 1) 6)
(set! (-> v1-1 lod-dist 1) 4095996000.0)
(set! *citb-drop-plat-red-sg* v1-1)
(defskelgroup *citb-drop-plat-red-sg* citb-drop-plat
4
7
((5 (meters 20)) (6 (meters 999999)))
:bounds (static-spherem 0 0 0 3)
:longest-edge (meters 0)
)
;; failed to figure out what this is:
(let
((v1-2
(new 'static 'skeleton-group
:art-group-name "citb-drop-plat"
:bounds (new 'static 'vector :w 12288.0)
:max-lod 1
:version #x6
)
)
)
(set! (-> v1-2 jgeo) 8)
(set! (-> v1-2 janim) 11)
(set! (-> v1-2 mgeo 0) 9)
(set! (-> v1-2 lod-dist 0) 81920.0)
(set! (-> v1-2 mgeo 1) 10)
(set! (-> v1-2 lod-dist 1) 4095996000.0)
(set! *citb-drop-plat-green-sg* v1-2)
(defskelgroup *citb-drop-plat-green-sg* citb-drop-plat
8
11
((9 (meters 20)) (10 (meters 999999)))
:bounds (static-spherem 0 0 0 3)
:longest-edge (meters 0)
)
;; failed to figure out what this is:
(let
((v1-3
(new 'static 'skeleton-group
:art-group-name "citb-drop-plat"
:bounds (new 'static 'vector :w 12288.0)
:max-lod 1
:version #x6
)
)
)
(set! (-> v1-3 jgeo) 12)
(set! (-> v1-3 janim) 15)
(set! (-> v1-3 mgeo 0) 13)
(set! (-> v1-3 lod-dist 0) 81920.0)
(set! (-> v1-3 mgeo 1) 14)
(set! (-> v1-3 lod-dist 1) 4095996000.0)
(set! *citb-drop-plat-blue-sg* v1-3)
(defskelgroup *citb-drop-plat-blue-sg* citb-drop-plat
12
15
((13 (meters 20)) (14 (meters 999999)))
:bounds (static-spherem 0 0 0 3)
:longest-edge (meters 0)
)
;; failed to figure out what this is:
(let
((v1-4
(new 'static 'skeleton-group
:art-group-name "citb-drop-plat"
:bounds (new 'static 'vector :w 12288.0)
:max-lod 1
:version #x6
)
)
)
(set! (-> v1-4 jgeo) 16)
(set! (-> v1-4 janim) 19)
(set! (-> v1-4 mgeo 0) 17)
(set! (-> v1-4 lod-dist 0) 81920.0)
(set! (-> v1-4 mgeo 1) 18)
(set! (-> v1-4 lod-dist 1) 4095996000.0)
(set! *citb-drop-plat-yellow-sg* v1-4)
(defskelgroup *citb-drop-plat-yellow-sg* citb-drop-plat
16
19
((17 (meters 20)) (18 (meters 999999)))
:bounds (static-spherem 0 0 0 3)
:longest-edge (meters 0)
)
;; definition of type drop-plat
+7 -22
View File
@@ -19,28 +19,13 @@
)
;; failed to figure out what this is:
(let
((v1-1
(new 'static 'skeleton-group
:art-group-name "babak"
:bounds
(new 'static 'vector :y 8192.0 :w 12288.0)
:max-lod 2
:longest-edge (meters 1.0)
:version #x6
:shadow 4
)
)
)
(set! (-> v1-1 jgeo) 0)
(set! (-> v1-1 janim) -1)
(set! (-> v1-1 mgeo 0) 1)
(set! (-> v1-1 lod-dist 0) 81920.0)
(set! (-> v1-1 mgeo 1) 2)
(set! (-> v1-1 lod-dist 1) 163840.0)
(set! (-> v1-1 mgeo 2) 3)
(set! (-> v1-1 lod-dist 2) 4095996000.0)
(set! *babak-sg* v1-1)
(defskelgroup *babak-sg* babak
0
-1
((1 (meters 20)) (2 (meters 40)) (3 (meters 999999)))
:bounds (static-spherem 0 2 0 3)
:longest-edge (meters 1)
:shadow 4
)
;; failed to figure out what this is:

Some files were not shown because too many files have changed in this diff Show More